1 条题解

  • 1
    @ 2023-12-9 20:35:16
    #include<bits/stdc++.h>
    char s[50000];
    int n,m,f[50000][26];
    int read()
    {
        int a=0,f=1;
        char c=getchar();
        while (c<'0'||c>'9')
        {
            if(c=='-')f=-1;
            c=getchar();
        }
        while(c>='0'&&c<='9')
        {
            a=a*10+c-'0';
            c=getchar();
        }
        return a*f;
    }
    int main()
    {
        scanf("%s",s+1);
        n=strlen(s+1);
        for(register int i=1;i<=n;i+=1)
        {
            int x=s[i]-'a';
            for(register int j=0;j<=25;j+=1)
                f[i][j]=f[i-1][j];
            f[i][x]+=1;
        }
        m=read();
        for(int i=1;i<=m;i+=1)
        {
            int a=read(),b=read(),c=read(),d=read();
            int flag=1;
            for(int i=0;i<26;i+=1)if(f[b][i]-f[a-1][i]!=f[d][i]-f[c-1][i])
            {
                flag=0;
                break;
            }
            if(flag)puts("DA");
            else puts("NE");
        }
    }
    
    • 1

    信息

    ID
    583
    时间
    3000ms
    内存
    63MiB
    难度
    6
    标签
    递交数
    290
    已通过
    89
    上传者