保姆级题解
2026-08-28 12:53:10
发布于:四川
1阅读
0回复
0点赞
保姆级题解
#include<bits/stdc++.h>
using namespace std;
int n,m; // n:书的总数,m:查询(读者)的数量
int s[1005]; // 数组s,用来存放所有图书的编码
int main(){
cin>>n>>m; // 输入书的数量n,查询次数m
for(int i=0;i<n;i++){
cin>>s[i]; // 依次读入每一本书的编号,存进数组
}
sort(s,s+n); // 将图书编号从小到大排序,第一个找到的符合条件的就是最小值
while(m--){ // 循环 m 次,处理每一个读者的查询
int a,b;
cin>>a>>b; // a:需求码的位数;b:需求码
int flag=-1; // flag记录答案,初始‑1,表示暂时没找到
int p=1;
while(a--) // 循环a次,计算 10的a次方
p*=10;
for(int i=0;i<n;i++){ // 遍历每一本书
if(s[i]%p==b){ // 对p取余数,取出书号最后a位;和需求码b相等即匹配成功
flag=s[i]; // 记录当前书号为答案
break; // 因为已经升序排序,第一个就是最小,直接跳出循环
}
}
cout<<flag<<endl; // 输出本次查询的结果
}
return 0;
}
点个赞吧
这里空空如也








有帮助,赞一个