70pts,求调
查看原帖
70pts,求调
1424541
_200825_楼主2024/8/20 10:50
#include<bits/stdc++.h>
using namespace std;
int book[10000],reader[10000],readernum[10000],readerneed[10000];//书籍编号,读者需求码和其位数,是否找到
int i,j,n,q,num;//n,q同题目
void find(int x,int a,int b,int c){
	num=pow(10,x);
    if(b%num==a||b==a){
    	readerneed[c]=b;
    	i++;
    	j=1;
	}
	else readerneed[c]=-1;
}//寻找能否借到书
void prt(){
	for(i=1;i<=q;i++){
		if(readerneed[i]>=0) cout<<readerneed[i]<<endl;
		else cout<<"-1"<<endl;
	}
}//输出
int main(){
    cin>>n>>q;
    for(i=1;i<=n;i++){
        cin>>book[i];
        if(book[i]<=book[i-1]) swap(book[i],book[i-1]);  
    }
    sort(book,book+i+1);
    for(i=1;i<=q;i++){
        cin>>reader[i]>>readernum[i];
    }
    for(i=1;i<=q;i++) for(j=1;j<=n;j++) find(reader[i],readernum[i],book[j],i);
    prt();
}
2024/8/20 10:50
加载中...