P3156 【深基15.例1】询问学号

https://www.luogu.com.cn/problem/P3156
#include<cstdio>
#include<iostream>
#include<map>
using namespace std;
int a[2000005];
int main(void)
{
int n,m;cin>>n>>m;
int number;
for(int i=1;i<=n;i++) scanf("%d",&number),a[i]=number;
while(m--)
{
int index; scanf("%d",&index);
cout<<a[index]<<endl;
}
return 0;
}
P3613 【深基15.例2】寄包柜 【太妙了 / 二维map】

https://www.luogu.com.cn/problem/P3613
方法一: 一维的哈希
#include<cstdio>
#include<map>
using namespace std;
int n,q,p,k;
map<long long,int>b;
long long i,j;
int main()
{
scanf("%d%d",&n,&q);
while(q--)
{
scanf("%d%d%d",&p,&i,&j);
if(p==1)
{
scanf("%d",&k);
b[i*1000000+j]=k;
}
else printf("%d\n",b[i*1000000+j]);
}
return 0;
}
方法二: 二维map
#include<cstdio>
#include<iostream>
#include<map>
using namespace std;
map< int ,map<int,int> >mp;
int main(void)
{
int n,m; cin>>n>>m;
while(m--)
{
int a,b,c,d; cin>>a;
if(a==1)
{
cin>>b>>c>>d;
mp[b][c]=d;
}
else
{
cin>>b>>c;
cout<<mp[b][c]<<endl;
}
}
return 0;
}
P1996 约瑟夫问题 【队列】

https://www.luogu.com.cn/problem/P1996
#include<cstdio>
#include<iostream>
#include<queue>
using namespace std;
queue<int>q;
int main(void)
{
int n,k; cin>>n>>k;
for(int i=1;i<=n;i++) q.push(i);
int cnt=0;
while(!q.empty())
{
if(cnt==k-1)
{
cout<<q.front()<<" ";
q.pop();
cnt=0;
}
else
{
int temp=q.front();
q.pop();
q.push(temp);
cnt++;
}
}
return 0;
}

被折叠的 条评论
为什么被折叠?



