1 条题解

  • 0
    @ 2023-5-27 10:19:17
    #include <bits/stdc++.h>
    using namespace std;
    int n,q;//图书数量,读者数量
    int a[1005];//a[1]~a[n] 存所有图书编码
    int len[1005],ned[1005];//读者的需求码长度、读者需求码 
    int ten[15];//ten[i] 10^i 
    int main()
    {    
    	//freopen("data.txt", "r", stdin);
    	cin>>n>>q;
    	for(int i=1;i<=n;i++)
    		cin>>a[i];
    	for(int i=1;i<=q;i++)
    		cin>>len[i]>>ned[i];
    	//预处理 ten[]
    	ten[0]=1;
    	for(int i=1;i<=8;i++)
    	 	ten[i]=ten[i-1]*10;
    	for(int i=1;i<=q;i++){
    		//当前读者的需求码为 ned[i],长度为 len[i]
    		int ans=-1;//找到满足读者需求的图书中,图书编码最小的那个
    		//一本一本书看过去 
    		for(int j=1;j<=n;j++){
    			//当前这本书的图书编码a[j]
    			if(a[j]%ten[len[i]]==ned[i]){
    				if(ans==-1||a[j]<ans)
    					ans=a[j];
    			} 
    		} 
    		cout<<ans<<"\n";
    	} 
        return 0;
    }
    
    • 1

    信息

    ID
    208
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    29
    已通过
    13
    上传者