输出问题
查看原帖
输出问题
478895
______0_____楼主2025/7/19 23:29
#include<bits/stdc++.h>
using namespace std;
int a[114514], b[114514], c[114514], d[114514];
int n;
//全局变量
int cnt;

void dfs(int i) {
	if (i > n) {
		
		
		怎么输出三个解???
		
		
		
		return;
	}//退出
	for (int j = 1; j <= n; j++) {
		if (!b[j] && !c[i + j] && !d[abs(i - j)]) {
			b[j] = 1;
			c[i + j] = 1;
			d[abs(i - j)] = 1;//标记
			a[i] = j; //找解
			dfs(i+1);
      b[j] = 0;
			c[i + j] = 0;
			d[abs(i - j)] = 0;//多解
		}
	}


}

int main() {

	cin >> n;
	dfs(1);//从第一行第一个皇后开始
	//下面还没写,卡住了TT
	return 0;
}

服了,不会输出,dfs应该差不多没错吧

2025/7/19 23:29
加载中...