输入样例:
10 5
00132 10093 92001 23333 66666 88888 09009 34658 82750 69251
1 2 3 4 5
9 8 7 6 1
5
66666
88888
69251
55555
10093
输出样例:
1
1
9
Wrong Number
4
思路: 先进传送带的盒子先装奖牌,所以盒子编号的数列用队列存,货栈自然用栈,用数组a[i]记录第i个盒子里面的奖牌种类,如果为0,则说明没有这个盒子。
#include<bits/stdc++.h>
#define llu unsigned long long
using namespace std;
int a[100010];
queue<int> q;
stack<int> c[50010];
int main()
{
int n,s;
cin >> n >> s;
for(int i=0;i<n;i++)
{
int x;
cin >> x ;
q.push(x);
}
for(int i=0;i<n/s;i++)
{
for(int j=0;j<s;j++)
{
int x;
cin >> x;
c[i].push(x);
}
}
for(int i=0;i<n;)
{
for(int j=0;j<s;j++,i++)
{
int x=q.front();
q.pop();
int y=c[i/s].top();
c[i/s].pop();
a[x]=y;
}
}
int k;
cin >> k;
for(int i=0;i<k;i++)
{
int x;
cin >> x ;
if(a[x]==0)cout << "Wrong Number" << endl ;
else cout << a[x] << endl ;
}
return 0;
}
|