鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[扩展阅读] 通用解题思想:回溯法(附八皇后问题解析)

  [复制链接]
发表于 2021-6-26 10:19:34 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2021-6-26 16:12:57 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-28 23:26:41 | 显示全部楼层
朕想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-6-29 18:49:00 | 显示全部楼层
尔达的范围
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-7 11:02:45 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-12 22:34:06 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-13 15:49:26 | 显示全部楼层
zxzd
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-16 16:43:31 | 显示全部楼层
00000000000000000
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-17 16:50:22 From FishC Mobile | 显示全部楼层
加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-18 15:07:06 | 显示全部楼层
I want
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-23 15:08:34 | 显示全部楼层
真想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-23 23:18:59 | 显示全部楼层
朕想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-25 16:35:02 | 显示全部楼层
朕想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-27 09:36:52 | 显示全部楼层
朕想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-27 09:38:19 | 显示全部楼层
chunchun2017 发表于 2017-8-27 18:29
你这是递归啊,说是回溯法,其实也还是递归,还以为是非递归方式实现的呢
用python语句,递归瞬间搞定,

很显然,这一版论坛是在讨论c而不是python,你说的python代码也没有意义啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-29 22:57:05 | 显示全部楼层
朕想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-3 23:03:01 | 显示全部楼层
6
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-5 08:41:16 | 显示全部楼层
朕想知道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-8-5 08:57:31 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-8-5 15:14:56 | 显示全部楼层
自己乱写了一些
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

#define NUM 8

void queen(int checkerboard[NUM][NUM],int rank,int row);


int main(void)
{
        int checkerboard[NUM][NUM];
        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[NUM][NUM],int rank,int row)
{
        if(checkerboard[rank][row]==1)
        {
                checkerboard[rank][row]=0;
                for(int i=0;i<NUM;i++)
                {
                        checkerboard[i][row]=2;
                        checkerboard[rank][i]=2;
                        if(rank-i>0&&row-i>0)
                        {
                                checkerboard[rank-i][row-i]=2;
                        }
                        else if(rank+i<NUM&&row+i<NUM)
                        {
                                checkerboard[rank+i][row+i]=2;
                        }
                        else if(rank+i<NUM&&row-i>0)
                        {
                                checkerboard[rank+i][row-i]=2;
                        }
                        else if(rank-i>0&&row+i<NUM)
                        {
                                checkerboard[rank-i][row+i]=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[i][j]);
                }
                putchar('\n');
        }
} 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-5 07:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表