题解 P3955 【图书管理员】
YUAN2017
2017-11-18 09:23:17
蒟蒻的我第一次发题解,大牛勿喷.......
说实话,普及组第二题太水了 O(∩\_∩)O~~~
思路就是暴力找
代码里有解释
上代码:
```cpp
#include<bits/stdc++.h>
using namespace std;
int p,q;
long long a[10001],b[10001],len[10001],x[10001];
int main()
{
//freopen("librarian.in","r",stdin);
//freopen("librarian.out","w",stdout);
cin>>p>>q;
for(int i=1;i<=p;i++)
{
cin>>a[i];
}
sort(a+1,a+p+1);//保证找到的图书编号最优
for(int i=1;i<=q;i++)
{
int flag=0;
cin>>len[i]>>b[i];//输入
long long w=pow(10,len[i]);//w是10的len[i]次方(用于判断图书的后len[i]位)
for(int j=1;j<=p;j++)//寻找图书
{
x[j]=a[j]%w;//x[j]是a[j]的末len[i]位
if(x[j]==b[i])//若找到
{
cout<<a[j]<<endl;//输出图书编号
flag=1;//标记
break; //找到就退出
}
}
if(flag==0)//若找不到
{
cout<<"-1"<<endl;//输出-1
}
}
return 0;
}
```