要求输出使n元棋盘上的n个皇后互不攻击的所有布局。
来源:百度知道 编辑:UC知道 时间:2024/05/23 20:23:11
由n^2个方块排成n行n列的正方形称为“n元棋盘”。如果两个皇后位于n元棋盘的同一行或同一列或同一对角线上,则成为它们互相攻击。
具体要求如下:
(1)n可由键盘输入。
(2)在输入n后,动态建立方法说明中所需要建立的数组空间;程序运行结束是释放该存储空间。
(3)分别用n=4,5,6运行你的程序
最好是c语言描述~
具体要求如下:
(1)n可由键盘输入。
(2)在输入n后,动态建立方法说明中所需要建立的数组空间;程序运行结束是释放该存储空间。
(3)分别用n=4,5,6运行你的程序
最好是c语言描述~
已经编译运行确认:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
int q[20];
int count=0;
void print(int n)
{
int i;
count++;
for(i=1;i<=n;i++)
{printf("(%d,%d)",i,q[i]);
}
printf("\n");
}
int Place(int i,int k)
{
int j;
j=1;
while(j<k)
{if((q[j]==i) || abs(q[j]-i)==abs(j-k)) return 0;
j++;
}
return 1;
}
void Queens(int k,int n)
{
int i;
if(k>n)
print(n);
else
{for(i=1;i<=n;i++)
if(Place(i,k)==1)
{q[k]=i;
Queens(k+1,n);
}
}
}
int main()
{
int n;
printf("Please input n: ");
scanf("%d",&n);
Queens(1,n);
getch();
return 0;
}
在n*n棋盘上设置n个后,是其不互相攻击?
输入a,n两个参数,要求输出aaa...a(共n个)的值
在n*n的棋盘上填入1,2,3,4.......n*n,共有n*n个数,使得任意两个相邻数的和为素数
给出M和N 求他们的排列与组合,要求在表单上输出结果。
设有一个n*m方格的棋盘(1≤m,n≤100)能有多少个正方形和长方形
3.写一段代码,要求从键盘上输入一个整数n,计算1*2*3*…….*n的值,并输出该值。
写一个函数,使N个整数按由小到大的顺序排列,要求在主函数中输入10个数,并输出排好序的数
任意给出M和N 求他们的排列与组合,要求在表单上输出结果
c语言求n 个整数中最大值的输出
谁有n皇后问题的答案?