90pts求调 QWQ
查看原帖
90pts求调 QWQ
1384613
lluuonone_sr楼主2024/11/29 13:51

最后一个点超时了,大佬能帮我看看还能怎么优化吗? QAQ

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 3e3+5;

ll n,m;
char a[N][N];
map<string, bool> mp;

bool cmp (char a, char b)
{
    return a > b;
}

ll solve (ll x)
{
    sort (a[x], a[x]+strlen(a[x]));
    for (ll i = 1; i <= n; i++)
    {
        if (i != x)
        {
            if (mp[a[i]] == 0)
            {
            	sort (a[i], a[i]+strlen(a[i]), cmp);
            	mp [a[i]] = 1;
			}
        }
    }

    string minn=a[x];
    for (ll i = 1; i <= n; i++)
    {
        if (a[i] < minn)    minn = a[i];
    }

    return minn==a[x] ? 1 : 0;
}

int main()
{
    scanf ("%lld%lld", &n,&m);
    for (ll i = 1; i <= n; i++)
    {
        scanf (" %s", a[i]);
    }
    
    for (ll i = 1; i <= n; i++)
    {
        printf ("%lld", solve(i));
    }
    

    return 0;
}
2024/11/29 13:51
加载中...