求调
查看原帖
求调
753646
LCX_201109091514楼主2024/7/3 08:51

洛谷显示编译失败,但自测可以运行

#include<bits/stdc++.h>
using namespace std;
int ch[500001][65],idx = 0;
bool cnt[500001][10001];
	int n,q;
void build(string s,int no){
	int p = 0;
	for (int i = 0; s[i] ;i++){
		int x = s[i]-'a';
		if (!ch[p][x]) ch[p][x] = ++idx;
		p = ch[p][x]; 	
	}
	cnt[p][no] = 1;
}
void query(string s){
	int p = 0;
	for (int i = 0; s[i] ;i++){
		int x = s[i]-'a';
		if (!ch[p][x]) {
			cout<<endl;
			return ;
		}
		p = ch[p][x]; 
	}
	for(int i=1;i<=n;i++){
		if(cnt[p][i]){
			cout<<i<<' ';
		}
	}
	cout<<endl;
}
int main(){

	cin>>n;
	for (int i = 1;i <= n;i++){
		int t;
		cin>>t;
		for (int j = 1;j <= t;j++){
		    string s;
		    cin>>s;
		    build(s,i);
	    }
	}
	cin>>q;
	for (int i = 1;i <= q;i++){
		string s;
		cin>>s;
		query(s);
	}
}
2024/7/3 08:51
加载中...