程序解读问题
  • 板块灌水区
  • 楼主Fubaogege
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/5/31 20:42
  • 上次更新2024/5/31 22:48:07
查看原帖
程序解读问题
759940
Fubaogege楼主2024/5/31 20:42
#include<bits/stdc++.h>
using namespace std;
int a[104]={0},b[104]={0},c[104]={0},d[201]={0};
int n,ans;
void dfs(int x){
	if(x>n){
		ans++;
		if(ans>3)return;
		for(int i=1;i<=n;i++){
			cout<<a[i]<<" ";
		}
		cout<<endl;
	}
	for(int i=1;i<=n;i++){
		if(b[i]==1)continue;
		if(c[x-i+n]==1)continue;
		if(d[x+i]==1)continue;
		a[x]=i,b[i]=1,c[x-i+n]=1,d[x+i]=1;
		dfs(x+1);
		b[i]=0,c[x-i+n]=0,d[x+i]=0;
	}
	return;
}
int main(){
	cin>>n;
	dfs(1);
	cout<<ans;
	return 0; 
}

枚举的那个 for 循环怎么解读(什么意思)。

2024/5/31 20:42
加载中...