听取OLE声一片 @ 2020-10-14 13:53:30
rt
#include<iostream>
using namespace std;
int wooo(int x,int y)
{
int ans=1;
for(int i=1;i<=y;i++) ans*=x;
return ans;
}
int main()
{
int n,q;
long long a[1005];
cin>>n>>q;
for(int i=0;i<n;i++) cin>>a[i];
long long b[1005],c[1005],d[1005];
for(int i=0;i<=q;i++) d[i]=-1;
for(int i=0;i<q;i++) cin>>b[i]>>c[i];
for(int i=0;i<n;i++)
{
for(int j=0;j<q;j++)
if(a[i]%wooo(10,b[j])==c[j]) d[j]=a[i];
}
for(int i=0;i<q;i++) cout<<d[i]<<endl;
}
by Imy_bisLy @ 2020-10-14 14:38:02
没读题好评
你图书编号排个序不咋 还有你写的函数返回类型不应该是long long 吗 不建议循环从0 开始输入……太难受了
具体哪写错了我给你注释了
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
long long wooo(long long x,long long y)
{
long long ans=1;
for(int i=1;i<=y;i++) ans*=x;
return ans;
}
int main()
{
int n,q;
long long a[1005];
cin>>n>>q;
for(int i=0;i<n;i++) cin>>a[i];
sort(a+0,a+n);// c++自带快排需要调用 include<algorithm> 库
long long b[1005],c[1005],d[1005];
for(int i=0;i<q;i++) d[i]=-1;
for(int i=0;i<q;i++) {
cin>>b[i]>>c[i];
}
/*for(int i=0;i<n;i++)
{
for(int j=0;j<q;j++)
if(a[i]%wooo(10,b[j])==c[j]) d[i]=a[i];
}*///你循环写反了吧
for(int i = 0 ; i <q ; i++){//第i个人
for(int j = 0 ; j < n; j++){ //第j个本图书
if(a[j] % wooo(10,b[i]) == c[i]){
d[i] = a[j];
break; //防止后面有能成立的
}
}
}
for(int i=0;i<q;i++) cout<<d[i]<<endl;
}
by 听取OLE声一片 @ 2020-10-15 13:33:56
@wangzedong233 过了!!!www感谢大佬