QwQ,打个大暴力,纯模拟(用整数类型比用字符串方便)
贴代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,q;
long long a[1005],b[1005],p[1005];
cin>>n>>q;
for(int i=0;i<n;i++)
cin>>a[i];//a数组存图书编号
for(int i=0;i<q;i++)
{
int x;
cin>>x>>b[i];//b数组存需求码
p[i]=(int)pow(10,x);//p数组存用来%a数组的整十数,预先处理,比较方便
}
sort(a,a+n);//排序,找最小的
for(int i=0;i<q;i++)
{
bool f=0;//记录是否找了
for(int j=0;j<n;j++)
if(a[j]%p[i]==b[i])//如果是
{
cout<<a[j]<<endl;
f=1;//标记
break;
}
if(!f) cout<<-1<<endl;
}
return 0;
}
886,再见~