玄关
查看原帖
玄关
973359
liaoiming楼主2025/6/25 18:46

题解思路,样例过了,全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];
	}
	//sort(fir,fir+l);
	//sort(las,las+l);
	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;
			/*if(false==check1(in))
			{
				cout<<"0"<<endl;
				break;
			}*/
			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;
		}
		//if(false==check2(str,n))cout<<"0"<<endl;
		else cout<<"1"<<endl;
	}
	return 0;
}
2025/6/25 18:46
加载中...