AAA404 @ 2022-07-23 21:27:16
在调的时候发现数据点1的1 2这一行的*(str+x)变成了'9'
#include<bits/stdc++.h>
#define itn int
#define tin int
#define nit int
#define tni int
#define nti int
#define scnaf scanf
#define ptrinf printf
#define icn cin
#define cni cin
#define inc cin
#define nci cin
#define nic cin
#define cuot cout
#define ocut cout
using namespace std;
char a[1001][9];
int n,q;
inline int read()
{
char ch=getchar();
int s=0,w=1;
if(ch=='-'){
w=-1;ch='0';}
while(ch>='0' && ch<='9')
{
s=s*10+ch-48;
ch=getchar();
}
return s*w;
}
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
n=read();
q=read();
for(int i=1;i<=n;i++)
{
scanf("%s",&a[i]);
}
for(int i=1;i<=q;i++)
{
char b[9]={0};
bool flag=0;
int x;
scanf("%d%s",&x,b);
for(int j=1;j<=n;j++)
{
if(strstr(a[j],b)!=NULL)
{
char* str=strstr(a[j],b);
if(*(str+x)=='\0')
{
printf("%s\n",a[j]);
flag=1;
break;
}
}
}
if(flag==0)
{
cout<<"-1"<<endl;
}
}
return 0;
}
数据点1
1 10
9392912
3 912
2 10
7 2731197
2 12
7 7163045
4 8785
7 4577297
5 75400
1 2
6 493284
望路过的dalao帮调谢谢