本地过样例0分求调
查看原帖
本地过样例0分求调
1270559
zkhehe楼主2025/6/25 17:08

练习trie树第一道题就废了…求助

#include <bits/stdc++.h>
using namespace std;
int n,m,l;
int t[5000005][26];
int id=0;
int v[1005];
set<int>s[5000005];
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&l);
		for(int j=1;j<=l;j++){
			char c[30];
			scanf("%s",c);
			int lc=strlen(c);
			int u=0;
			for(int k=0;k<lc;k++){
				if(!t[u][c[k]-'a'])t[u][c[k]-'a']=++id;
				u=t[u][c[k]-'a'];
			}
			s[u].insert(i);
		}
	}
	scanf("%d",&m);
	for(int i=1;i<=m;i++){
		char c[30];
		scanf("%s",c);
		int lc=strlen(c);
		int u=0;
		for(int j=0;j<lc;j++){
			u=t[u][c[j]-'a'];
		}
		for(int j:s[u]){
			printf("%d ",j);
		}
		printf("\n");
	}
	return 0;
}

2025/6/25 17:08
加载中...