1 条题解

  • 0
    @ 2025-10-8 16:58:53
    #include<bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    const int N=3010;
    char s[N];
    struct node
    {
        char mi, mx;
        node()
        {
            mi='z'+1, mx=0;
        }
    }a[N];
    int f[N];
    
    int main()
    {
        int n, m;scanf("%d%d", &n, &m);
        for(int i=1;i<=n;i++)
        {
            scanf("%s", s);
            for(int j=0;j<m;j++)
            {
                a[i].mi=min(a[i].mi, s[j]);
                a[i].mx=max(a[i].mx, s[j]);
            }
        }
        memset(f, 0, sizeof(f));
        for(int i=1;i<n;i++)
            for(int j=i+1;j<=n;j++)
            {
                if(a[i].mi < a[j].mx)f[i]++;
                if(a[i].mx > a[j].mi)f[j]++;
            }
        
        for(int i=1;i<=n;i++) printf("%d", (f[i]==n-1) );
        return 0;
    }
    
    • 1

    信息

    ID
    1848
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    42
    已通过
    26
    上传者