题解 P3955 【图书管理员】

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,再见~

猜你喜欢

转载自www.cnblogs.com/oierscw/p/12542343.html