字典树60分,6 7 8 9wa,求调
查看原帖
字典树60分,6 7 8 9wa,求调
1097140
meixintui楼主2023/12/13 21:13
#include<bits/stdc++.h>
using namespace std;
int idx=1;
string a[100000];
int son[500500][26],sum[100000];
void cr(string s)
{
	int p=0;
	for(int i=0;i<s.size();i++)
	{
		int u=s[i]-'a';
		if(son[p][u]==0)
		{
			son[p][u]=idx;
			idx++;
		}
		p=son[p][u];
	}
	sum[p]++;
}
string cx(string s)
{
	int p=0;
	for(int i=0;i<s.size();i++)
	{
		int u=s[i]-'a';
		if(son[p][u]==0)
		{
			return "WRONG";
		}
		p=son[p][u];
	}
	if(sum[p]==0)
	{
		return "WRONG";
	}
	else if(sum[p]==1)
	{
		sum[p]++;
		return "OK";
	}
	else
	{
		return "REPEAT";
	}
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n;cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		cr(a[i]);
	}
	int m;cin>>m;
	for(int i=1;i<=m;i++)
	{
		string s;cin>>s;
		cout<<cx(s)<<'\n';
	}
	
  return 0;
}
2023/12/13 21:13
加载中...