题解思路,样例过了,全WA
#include<bits/stdc++.h>
using namespace std;
bool check1(string s)
{
int n=s.size();
int asc[s.size()+1];
for(int i=0;i<n;i++)
{
asc[i]=(int)s[i];
if(asc[i-1]>asc[i] && i>=1)return false;
}
return true;
}
bool check2(string str[103],int l)
{
int fir[102],las[102];
for(int i=0;i<l;i++)
{
fir[i]=(int)str[i][0];
las[i]=(int)str[i][str[i].size()-1];
}
for(int i=1;i<=l;i++)
{
if(fir[i]>las[i-1])return false;
}
return true;
}
int main()
{
int T,n;
string str[103],add;
cin>>T;
for(int z=0;z<T;z++)
{
cin>>n;
for(int i=0;i<n;i++)
{
string in;
cin>>in;
str[i]=in;
}
sort(str,str+n);
for(int x=0;x<n;x++)
{
add+=str[x];
}
if(false==check1(add))
{
cout<<"0"<<endl;
continue;
}
else cout<<"1"<<endl;
}
return 0;
}