样例死活都只输出0
查看原帖
样例死活都只输出0
756220
diaq楼主2023/7/2 19:43

dalao们。。。

#include<bits/stdc++.h>
using namespace std;
int line[14],n,ans;
void print(){
	for(int i=1;i<=n;i++)cout<<line[i]<<" ";
}
bool check(int want){
	for(int i=1;i<=want;i++){
		if(line[want]==line[i])return true;
		if(line[want]-want==line[i]-i)return true;
		if(line[want]+want==line[i]+i)return true;
	}
	return false;
}
void dfs(int step){
	for(;line[step]<n;line[step]++){
		if(check(step))continue;
		else{
			if(step!=n)dfs(step+1);
			else{
				if(ans<=3)print();
				ans++;
			}
		}
	}
}
int main(){
	cin>>n;
	dfs(1);
	cout<<ans;

	return 0;
}

2023/7/2 19:43
加载中...