WA+TLE
查看原帖
WA+TLE
1381257
zhengyi0402楼主2024/10/7 08:54
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
vector<int> v;
int ans = 0;
set<int> s;
int num = 0;
void dfs(int x){
	if(x==n+1){
		int num1 = 0,num2 = 0;
		for(int i = 0;i < n;i++){
			if(i+1==v[i]){
				num1++;
			}
		} //第一对角线 
		for(int i = 0;i < n;i++){
			if(n-i==v[i]){
				num2++;
			}
		}//第二对角线 
		if(num1<=1&&num2<=1){
			if(num<3){
				for(int i = 0;i < n;i++){
				    cout<<v[i]<<' ';
			    }cout<<'\n';
			}
			++ans;++num;
			return ;
		}
	}
	for(int i = 1;i <= n;i++){
		if(!s.count(i)){
			v.push_back(i);
			s.insert(i);
			dfs(x+1);
			s.erase(i);
			v.pop_back();
		}
	}
}
signed main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	cin>>n;
	dfs(1);cout<<ans; 
	return 0;
	//十年OI一场空,define int 见祖宗。
	//十年OI一场空,不开long long见祖宗。
}

#7~#10 TLE,其它WA

能告诉萌新为什么吗????

2024/10/7 08:54
加载中...