题解 P3955 【图书管理员】

YUAN2017

2017-11-18 09:23:17

Solution

蒟蒻的我第一次发题解,大牛勿喷....... 说实话,普及组第二题太水了 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; } ```