在本地机房测出是90分,交洛谷上就RE了
#include<bits/stdc++.h>
#define MAXN 3456
#define rep(i,a,b) for(register int i=a;i<=b;i++)
using namespace std;
int n,m,max1=1;
char s[MAXN][MAXN],mins[MAXN][MAXN],maxs[MAXN][MAXN],tmp[MAXN];
bool ans[MAXN];
bool c(char *a,char *b){
rep(i,1,m)
if(a[i]!=b[i])
return a[i]>b[i];
}
void StrCopy(char *a,char *b){
rep(i,1,m) a[i]=b[i];
}
void ReverseCopy(char *a,char *b){
rep(i,1,m) a[i]=b[m-i+1];
}
int main(){
scanf("%d%d",&n,&m);
rep(i,1,n){
scanf("%s",s[i]+1);
StrCopy(mins[i],s[i]);
sort(mins[i]+1,mins[i]+m+1);
ReverseCopy(maxs[i],mins[i]);
}
rep(i,1,n) if(c(maxs[max1],maxs[i])) max1=i;
rep(i,1,n){
if(i==max1) ans[i]=1;
else if(c(maxs[max1],mins[i])) ans[i]=1;
}
rep(i,1,n) printf("%d",ans[i]);
return 0;
}