帮忙提交一下?
  • 板块灌水区
  • 楼主MspAInt
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/10/13 22:30
  • 上次更新2023/10/27 07:38:04
查看原帖
帮忙提交一下?
736801
MspAInt楼主2022/10/13 22:30

SPOJ没有账号,可否帮忙交一下trie模板? thx

#include<bits/stdc++.h>
#define inf 2147483647
using namespace std;
struct ikun{
	int s[10];
	bool end;
}trie[1000100];
int n,g;
bool ans;
void insert(char c[]){
	if(ans)return;
	int r=0;
	for(int i=1;i<=strlen(c+1);i++){
		int q=c[i]-'0';
		if(!trie[r].s[q])
		g++,trie[r].s[q]=g;
		else if(i==strlen(c+1))
		ans=1;
		//要么他是前面某串的前缀 
		r=trie[r].s[q];
		if(trie[r].end)
		ans=1;
		//要么前面有串是他的前缀 
	}
	trie[r].end=1;
}
int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		ans=0,g=0;
		memset(trie,0,sizeof(trie));
		scanf("%d",&n);
		for(int i=1;i<=n;i++){
			char ch[100];
			scanf("%s",ch+1);
			insert(ch);
		}
		if(ans)printf("NO\n");
		else printf("YES\n");
	}
	return 0;
}
2022/10/13 22:30
加载中...