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

原文地址:https://www.cnblogs.com/oierscw/p/12542343.html