我爱刷题 • 17天前
using namespace std; int a[11]; int t,z=0; int queen(int m,int n) {
for (int i = 1; i <= m; i++) {
t = 0;
for (int j = 1; i <= n - 1; i++) {
if (i == a[j] || n - j == i - a[j] || n - j == a[j] - i) {
t = 1;
}
}
if (t == 0) {
a[n] = i;
if (n < m)queen(m,n + 1);
else {
z=1;
for (int k= 1; k <= m; k++) {
cout << a[k] << " ";
}
cout<<endl;
}
}
}
return 0;
} int main() {
int n1;
cin >> n1;
for (int i = 1; i <= n1; i++) {
a[1] = i;
queen(n1,2);
}
if(z!=1){
printf("no solute!");
}
return 0;
}
评论:
请先登录,才能进行评论