官方数据
#include <bits/stdc++.h>
using namespace std;
char s[3005];
string ansmin[3005];
string ansmax[3005];
struct node
{
string str;
int id;
}nodes[3005];
bool cmp(char a,char b){return a>b;}
void init(string str,int id)
{
int val = 0;
for(int i{};i<str.length();i++)
s[i] = str[i];
sort(s,s+str.length());
for(int i{};i<str.length();i++)
str[i] = s[i];
ansmin[id] = str;
sort(s,s+str.length(),cmp);
val = 0;
for(int i{};i<str.length();i++)
str[i] = s[i];
ansmax[id] = str;
}
bool operator < (node a,node b)
{
return a.str.compare(b.str) != 1;
}
string str[3005];
int main()
{
cin.tie(0);
cout.tie(0);
ios::sync_with_stdio(false);
int n,w;
cin>>n>>w;
for(int i{1};i<=n;i++)
{
cin>>str[i];
}
for(int i{1};i<=n;i++)
init(str[i],i);
for(int i{1};i<=n;i++)
nodes[i].str = ansmax[i],nodes[i].id = i;
sort(nodes+1,nodes+1+n);
for(int i{1};i<=n;i++)
if(ansmin[i].compare(nodes[1].str) != 1) cout<<1;
else cout<<0;
return 0;
}