本地炸了但是你谷给AC?
查看原帖
本地炸了但是你谷给AC?
701253
fulinran2026楼主2024/5/2 15:24

事情是这样的,本地爆栈了,调试都调试不了的那种,但是试着交了一下直接过了
所以有大佬知道为什么吗/kk

贴code

#include<bits/stdc++.h>
#define LL long long
using namespace std;

const int N=3e6+5;

int T,n,q;
int cnt,ans;

struct mm
{
	int tag,ch[80];
}t[N];

void insert(char s[])
{
	int rt=0,n=strlen(s);
	for(int i=0;i<n;i++)
	{
		int y=s[i]-'0';
		if(t[rt].ch[y]==0)
			t[rt].ch[y]=++cnt;
		rt=t[rt].ch[y];
		t[rt].tag++;
	}
}

int query(char s[])
{
	int rt=0,n=strlen(s);
	for(int i=0;i<n;i++)
	{
		int y=s[i]-'0';
		if(t[rt].ch[y]==0) return 0;
		rt=t[rt].ch[y];
	}
	return t[rt].tag;
}

int main()
{
	scanf("%d",&T);
	while(T--)
	{
		for(int i=0;i<=cnt;i++)
		{
            for(int j=0;j<=80;j++)
                t[i].ch[j]=0;
            t[i].tag=0;
		}
		cnt=0; ans=0;
		
		scanf("%d%d",&n,&q);
		for(int i=1;i<=n;i++)
		{
			char a[N];
			scanf("%s",a);
			insert(a);
		}
		for(int i=1;i<=q;i++)
		{
			char a[N];
			scanf("%s",a);
			printf("%d\n",query(a));
		}
	} 
	return 0;
}
// 
2024/5/2 15:24
加载中...