最后一个点超时了,大佬能帮我看看还能怎么优化吗? 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;
}