tire代码求调
查看原帖
tire代码求调
1274368
YQD_Q楼主2024/7/24 11:46

样例全过,全WA了

#include <bits/stdc++.h>
using namespace std;
struct st{
	int trie[30][26];
	int end[3000]={0};
	int idx=1;
}N[1001];//短文
string s;
int n,m,l;

inline void build(int p){
	int cnt=1;
	for(int i=0;i<s.size();i++){
		int k=s[i]-'a';
		if(N[p].trie[cnt][k]==0) N[p].trie[cnt][k]=++N[p].idx;
		cnt=N[p].trie[cnt][k];
	}
	N[p].end[cnt]=1;
}

inline int query(int p){
	int cnt=1;
	for(int i=0;i<s.size();i++){
		int k=s[i]-'a';
		if(N[p].trie[cnt][k]==0) return 0;
		cnt=N[p].trie[cnt][k];
	}
	return N[p].end[cnt];
}

signed main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>l; 
		for(int j=1;j<=l;j++){
			cin>>s;
			build(i);
		}
	}
	cin>>m;
	for(int i=1;i<=m;i++){
		cin>>s;
		int ans=0;
		for(int j=1;j<=n;j++){
			if(query(j)) cout<<j<<' ';
		} 
		cout<<endl;
	}
}
2024/7/24 11:46
加载中...