样例过了,但是提交全re了,求调
查看原帖
样例过了,但是提交全re了,求调
1407882
emyutd楼主2025/1/30 10:10
#include <iostream>
using namespace std;
const int N=10001;
int son[N][26],idx,cnt[N][10001];
char str[N],str1[N];
void insert(char* str,int totil)
{
    
    int p=0;
    for(int i=0;str[i];i++)
    {
        int u=str[i]-'a';
        if(!son[p][u])son[p][u]=++idx;
        p=son[p][u];
    }
    cnt[p][totil]=1;
}
void query(char* str,int totil)
{
    int p=0;
    for(int i=0;str[i];i++)
    {
        int u=str[i]-'a';
        if(!son[p][u])return;
        p=son[p][u];
    }
    if(cnt[p][totil]==1)
    {
        cout<<totil<<' ';
    }
}
int main()
{
    int totil=0;
    cin>>totil;
    for(int i=1;i<=totil;i++)
    {
        int num=0;
        cin>>num;
        for(int j=1;j<=num;j++)
        {
            cin>>str;
            insert(str,i);
            str[0]='\0';
        }
    }
    int num2=0;
    cin>>num2;
    for(int i=1;i<=num2;i++)
    {
        cin>>str1;
        for(int j=1;j<=totil;j++)
        {
            
            query(str1,j);
            
        }
        cout<<endl;
        str1[0]='\0';
    }
}
2025/1/30 10:10
加载中...