nI、唯一 @ 2018-10-06 13:51:57
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,q,an[99999],an1[99999],aq[99999],ji[99999],num=1,sum=0,b[9999];
cin>>n>>q;
for(int i=1;i<=n;i++)
{
cin>>an[i];
an1[i]=an[i];
}
for(int i=1;i<=q;i++)
{
cin>>ji[i];
cin>>aq[i];
for(int j=1;j<=ji;j++) num*=10;
sum=an1[i]%num;
if(sum==aq[i]) b[i]=an[i];
else b[i]=-1;
sum=0;
num=1;
}
for(int i=1;i<=q;i++) cout<<b[i]<<endl;
return 0;
}
by LinAPro @ 2018-10-06 13:52:57
#include<bits/stdc++.h>
using namespace std;
long long int a[1000+10];
long long int b[1000+10];
long long m[10]={1,10,100,1000,10000,100000,1000000,10000000};
int main()
{
int n,q;
cin>>n>>q;
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i<=q;i++)
{
int min=-1;
int len=0;
cin>>len;cin>>b[i];
for(int j=1;j<=n;j++)
{
if(a[j]%m[len]==b[i])
{
min=a[j];
break;
}
}
cout<<min<<endl;
}
return 0;
}
by LinAPro @ 2018-10-06 13:53:09
AC
by 哔哩哔哩 @ 2018-10-06 13:58:25
为什么你们帮忙改错就直接把自己AC代码复制粘贴过来啊=.= 这样还不如让问的人去看题解
by nI、唯一 @ 2018-10-06 13:59:52
@哔哩哔哩 +1+1
by nI、唯一 @ 2018-10-06 14:01:25
更新一下版本2.0
by nI、唯一 @ 2018-10-06 14:01:37
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,q,an[99999],an1[99999],aq[99999],ji,num=1,sum=0,b[9999];
cin>>n>>q;
for(int i=1;i<=n;i++)
{
cin>>an[i];
an1[i]=an[i];
}
for(int i=1;i<=q;i++)
{
cin>>ji>>aq[i];
for(int j=1;j<=ji;j++) num*=10;
sum=an1[i]%num;
if(sum==aq[i]) b[i]=an[i];
else b[i]=-1;
sum=0;
num=1;
}
for(int i=1;i<=q;i++) cout<<b[i]<<endl;
return 0;
}
by nI、唯一 @ 2018-10-06 14:02:21
求大佬帮忙看看我这代码怎么这玩意儿的最小值求出来
by nI、唯一 @ 2018-10-06 14:02:59
@哔哩哔哩 你帮帮我呗
by 星小雨 @ 2018-10-06 14:03:55
。。没过过这道题。。是不是很难啊
by 哔哩哔哩 @ 2018-10-06 14:09:28
@nI、唯一 num要初始1 否则每次*10值还是0