TLE救(0pts)
查看原帖
TLE救(0pts)
1201913
Shawn16楼主2025/1/18 15:57
#include<bits/stdc++.h>
#define int long long
using namespace std;
int t;
string a[105];
bool f[105],flag=0;

bool pd(string s){
	for(int i=1;i<s.size();++i){
		if(s[i]<s[i-1]){
			return 0;
		}
	}
	return 1;
}

void dfs(int p,int n,string s){
	if(p==n+1){
		if(pd(s)){
			flag=1;
		}
		return;
	}
	for(int i=1;i<=n;++i){
		if(!f[i]){
			f[i]=1;
			dfs(p+1,n,s+a[i]);
			f[i]=0;
		}
	}
}

signed main()
{
	cin>>t;
	while(t--){
		int n;
		flag=0;
		cin>>n;
		for(int i=1;i<=n;++i){
			cin>>a[i];
		}
		dfs(1,n,"");
		if(flag){
			cout<<1<<endl;
		}else{
			cout<<0<<endl;
		}
	}
	
	return 0;
}
2025/1/18 15:57
加载中...