durbin中将 @ 2018-10-31 21:36:57
之前过了的题现在本来想重写一边AC却全部输出-1,求大佬们帮忙看看,谢谢
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<string>
#include<cstring>
using namespace std;
const int maxn=1010;
string books[1010],req[1010];
int a,b,none;
inline int check(int num)
{
int lenr=req[num].size();
for(int k=0;k<a;k++)
{
bool flag=1;
int lenb=books[k].size()
if(lenb<lenr) continue;
for(int i=lenr-1;i>=0;i--)
{
if(books[k][lenb-1]!=req[num][i])
{
flag=0;
break;
}
lenb--;
}
if(flag==1) return k;
}
return 0;
}
int main()
{
scanf("%d%d",&a,&b);
for(register int i=0;i<a;i++)
cin>>books[i];
for(register int i=0;i<b;i++)
scanf("%d%s",&none,req[i]);
for(register int i=0;i<b;i++)
{
if(check(i)==0) puts("-1");
else printf("%s\n",books[check(i)]);
}
return 0;
}