1、5、6 AC 其余 WA 求助
查看原帖
1、5、6 AC 其余 WA 求助
866613
sansesantongshun楼主2023/11/3 22:34
#include<bits/stdc++.h>
using namespace std;
int t,m,q,n,x,top=0;
bool ok;
char s[3000005];
struct node
{
	int nxt[123],end;
} trie[3000005];
int main()
{
	cin>>t;
	while (t--)
	{
		scanf("%d%d",&m,&q);
		while (m--)
		{
			scanf("%s",s+1);
			n=strlen(s+1);
			x=0;
			for (int i=1;i<=n;++i)
			{
				if (trie[x].nxt[s[i]]==0)
				trie[x].nxt[s[i]]=++top;
				x=trie[x].nxt[s[i]];
				++trie[x].end;
			}
		}
		while (q--)
		{
			scanf("%s",s+1);
			n=strlen(s+1);
			x=0;
			ok=1;
			for (int i=1;i<=n;++i)
			{
				if (trie[x].nxt[s[i]]==0)
				{
					ok=0;
					cout<<"0\n";
					break;
				}
				x=trie[x].nxt[s[i]];
			}
			if (ok)
			cout<<trie[x].end<<'\n';
		}
		for (int i=1;i<=top;++i)
		{
			for (char j=0;j<='z';++j)
			trie[i].nxt[j]=0;
			trie[i].end=0;
		}
		top=0;
	}
}
2023/11/3 22:34
加载中...