80分玄关
查看原帖
80分玄关
972985
jirun楼主2025/6/25 19:08

已经明白正解但仍旧玄关此80分方法

#include<bits/stdc++.h>
using namespace std;
int T,n;
bool check(string s){
	int y=s.length();
	for(int i=1;i<y;i++){
		if(s[i-1]>s[i])return 1;
	}
	return 0;
}
int main(){
	cin>>T;
	for(int i=1;i<=T;i++){
		string a[101];
		cin>>n;
		bool che=1;
		for(int j=1;j<=n;j++){
			cin>>a[j];
		}
		sort(a+1,a+n+1);
		for(int j=1;j<=n;j++){
			if(check(a[j])) {
				che=0;
				cout<<0<<endl;
				break;
			}
		}
		if(che==0) continue;
		if(n==1){
			cout<<1<<endl;
			continue;
		}
		int fst[n+1],lst[n+1];
		for(int j=1;j<=n;j++){
			fst[j]=a[j][0];
			lst[j]=a[j][a[j].length()-1];
		}
		sort(fst+1,fst+n+1);
		sort(lst+1,lst+n+1);
		for(int j=2;j<=n;j++){
			if(lst[j-1]>fst[j]){
				che=0;
				cout<<0<<endl;
				break;
			}
		}
		if(che==0) continue;
		cout<<1<<endl;
	}
	return 0;
}
2025/6/25 19:08
加载中...