代码全WA,求助QAQ
查看原帖
代码全WA,求助QAQ
1089037
Paper27楼主2024/7/17 10:29
#include <bits/stdc++.h>
using namespace std;
int t[1000003][26],d;
char s[1000003];
int w[1000003];
int n,m;
void add(char s[])
{
	int x=0,y=s[0]-'a',l=strlen(s);
	for(int i=1;i<l;i++)
	{
		y=s[i]-'a';
		if(t[x][y]==0)t[x][y]=++d;
		x=t[x][y];
		if(i==l-1)w[x]++;
	}
}
int find(char s[])
{
	int x=0,y=s[0]-'a',l=strlen(s),cnt=0;
	for(int i=1;i<l;i++)
	{
		y=s[i]-'a';
		if(t[x][y]==0)break;
		x=t[x][y];
		cnt+=w[x];
	}
	return cnt;
}
int main()
{
	cin>>n>>m;
	while(n--)
	{
		cin>>s;
		add(s);
	}
	while(m--)
	{
		cin>>s;
		cout<<find(s)<<endl;
	}
	return 0;
}
2024/7/17 10:29
加载中...