40分求助

P3955 [NOIP2017 普及组] 图书管理员

这是我的代码 ```c #include<bits/stdc++.h> using namespace std; int len; int reader; int n,q; int Mod[8]={0,10,100,1000,10000,100000,1000000,10000000}; int book[1010]; int answer(){ for(int x=1;x<=n;x++){ if(book[x]%Mod[len]==reader) return book[x]; } return -1; } int main(){ cin>>n>>q; for(int i=1;i<=n;i++){ cin>>book[i]; } sort(book+1,book+n+1); for(int i=1;i<=q;i++){ cin>>len>>reader; cout<<answer()<<endl; } } ```
by zi_jin @ 2022-10-10 17:16:03


判断那里有点问题
by zi_jin @ 2022-10-10 17:20:23


bian存的是需求码长度,不可以和book数组直接比较
by zi_jin @ 2022-10-10 17:23:49


还有如果book[i]=34567,read[j]=997时,也算是成功匹配了,建议你还是改成我那种方式,把取模的值做成数组存储起来
by zi_jin @ 2022-10-10 17:29:42


@[zi_jin](/user/449304) 谢谢!
by longtong @ 2022-10-10 19:12:03


|