朕想知道
1
朕想知道
{:5_109:}
1
学习学习
#include <stdio.h>
#define Q 8
int count;
int check(int row, int col, int (*queen));
void setQueen(int col, int (*queen));
int check(int row, int col, int (*queen))
{
int i;
for (i = 0; i < Q; i++)
{
if (queen == 1)
{
return 0;
}
if (queen == 1)
{
return 0;
}
}
for (i = 0; i < col; i++)
{
if (row-(i+1) >= 0)
{
if (queen == 1)
{
return 0;
}
}
if (row+(i+1) < Q)
{
if (queen == 1)
{
return 0;
}
}
}
for (i = 1; i < Q-col; i++)
{
if (row-i >= 0)
{
if (queen == 1)
{
return 0;
}
}
if (row+i < Q)
{
if (queen == 1)
{
return 0;
}
}
}
return 1;
}
void setQueen(int col, int (*queen))
{
int i, j, row;
// 如果 col == 4, 打印四皇后棋盘
if (col == Q)
{
for (i = 0; i < Q; i++)
{
for (j = 0; j < Q; j++)
{
printf("%d ", queen);
}
putchar('\n');
}
putchar('\n');
count++;
return;
}
for (row = 0; row < Q; row++)
{
if (check(row, col, queen))
{
queen = 1;
setQueen(col+1, queen);
queen = 0;
}
}
}
int main(void)
{
int array = {0};
int (*queen) = array;
setQueen(0, queen);
printf("%d\n", count);
return 0;
}
朕想知道
朕想知道
回复“朕想知道”查看完整代码!
朕不想知道
答案出现
ooooops
朕想知道
朕想知道
朕想知道
朕想知道
朕想知道
1