哪位大佬帮我看看问题在哪啊

#include<bits/stdc++.h>
using namespace std;

string ss[1234];
bool com(string a,string b){
	if(a.length()==b.length())
	return a<b;
	else return a.length()<b.length();
}

int main(){
	int n,q;
	cin>>n>>q;
	for(int i=0;i<n;i++){
		cin>>ss[i];
	}
	sort(ss,ss+n,com);
	int k=0,flag=1,xyz=0;
	for(int i=1;i<=q;i++)
	{
		string qq;
		cin>>k>>qq;
		flag=1;
		for(int j=0;j<n;j++)
		{
			if((xyz=ss[j].find(qq.c_str()))!=string::npos)
			{
				if((xyz+k)==ss[j].length())
				{
				cout<<ss[j]<<endl;
				flag=0;
                break;
				}
				
			}
		}	
		if(flag)
		cout<<"-1\n";
	}
	return 0;
}

全部评论
应该从最后一个开始找,改成rfind就好了
2
送花
回复
分享
发布于 2021-12-29 08:55

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务