CClook
发表于 2021-6-26 10:19:34
{:5_109:}
Python操作专员
发表于 2021-6-26 16:12:57
Alanfromspace
发表于 2021-6-28 23:26:41
朕想知道
supr
发表于 2021-6-29 18:49:00
尔达的范围
Routh、
发表于 2021-7-7 11:02:45
1
李现实
发表于 2021-7-12 22:34:06
1
msj20
发表于 2021-7-13 15:49:26
zxzd
bangec
发表于 2021-7-16 16:43:31
00000000000000000
581314987
发表于 2021-7-17 16:50:22
加油
maole
发表于 2021-7-18 15:07:06
I want
JingHe1997
发表于 2021-7-23 15:08:34
真想知道
solseasky
发表于 2021-7-23 23:18:59
朕想知道
2861160067
发表于 2021-7-25 16:35:02
朕想知道
烫烫烫的锟斤拷
发表于 2021-7-27 09:36:52
朕想知道
烫烫烫的锟斤拷
发表于 2021-7-27 09:38:19
chunchun2017 发表于 2017-8-27 18:29
你这是递归啊,说是回溯法,其实也还是递归,还以为是非递归方式实现的呢
用python语句,递归瞬间搞定,
很显然,这一版论坛是在讨论c而不是python,你说的python代码也没有意义啊{:10_277:}
HiroYH
发表于 2021-7-29 22:57:05
朕想知道
lijun2001
发表于 2021-8-3 23:03:01
6
lifhv
发表于 2021-8-5 08:41:16
朕想知道
讲究怪不怪
发表于 2021-8-5 08:57:31
1
焦糖橙子
发表于 2021-8-5 15:14:56
自己乱写了一些
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define NUM 8
void queen(int checkerboard,int rank,int row);
int main(void)
{
int checkerboard;
memset(checkerboard,1,sizeof(checkerboard));
//第一个棋子摆放的位置
for(int i=0;i<NUM;i++)
{
for(int j=0;j<NUM;j++)
{
queen(checkerboard,i,j);
}
}
}
void queen(int checkerboard,int rank,int row)
{
if(checkerboard==1)
{
checkerboard=0;
for(int i=0;i<NUM;i++)
{
checkerboard=2;
checkerboard=2;
if(rank-i>0&&row-i>0)
{
checkerboard=2;
}
else if(rank+i<NUM&&row+i<NUM)
{
checkerboard=2;
}
else if(rank+i<NUM&&row-i>0)
{
checkerboard=2;
}
else if(rank-i>0&&row+i<NUM)
{
checkerboard=2;
}
}
}
else
{
if(rank<NUM&&row<NUM)
{
row++;
queen(checkerboard,rank,row);
}
else if(rank<NUM)
{
row=0;
rank++;
queen(checkerboard,rank,row);
}
else
{
exit(1);
}
}
for(int i=0;i<NUM;i++)
{
for(int j=0;j<NUM;j++)
{
printf("%d",checkerboard);
}
putchar('\n');
}
}