24小时热门版块排行榜    

查看: 1206  |  回复: 7

文俊点点

木虫 (著名写手)


[交流] 【讨论】四皇后回溯遍历

自己写的四皇后回溯遍历问题,即在4*4的方格上放置四个皇后,任意两个不能同行同列,及在对角线的位置上。感觉没问题  但没有输出,好像是死循环·········

求助~~~~~~~~~~~~
#include
#include
void main(){
int b[5];
int i=2,j=1;
b[1]=1;
while(b[1]<=4){printf("*";
        for(int k=1;k<5;k++){
                int flag=0;
                for(int m=1;m<=j;m++){
                        if(k==b[m]){flag=1;break;}       
                        if(fabs(b[m]-k)==fabs(m-i)){flag=1;break;}       
                }
                if(flag==1)continue;
                j++;b[j]=k;i++;break;
        }

        if(j<4&&b[j]!=4){
                        while(b[j]<4){
                                int flag1=0;
                                b[j]++;
           for(int m=1;m                         if(b[j]==b[m]){flag1=1;break;}       
                        if(fabs(b[m]-b[j])==fabs(m-j)){flag1=1;break;}       
                }
                   if(flag1==0) break;
                        }               
        }

                if(j<4&&b[j]==4){
                        while(j>=1){
                                int flag2=0;
                        j--;i--;
                        if(b[j]==4){
                        j--;i--;}
                        b[j]++;
        for(int m=1;m                         if(b[j]==b[m]){flag2=1;break;}       
                        if(fabs(b[m]-b[j])==fabs(m-j)){flag2=1;break;}       
                }
           if(flag2==0) break;
                        }
               
                }


        if(j==4){
                for(int m=1;m<5;m++)
                printf("%d  ",b[m]);
                if(b[1]<4){j=1;b[j]++;i=2;}
        }

        }
}

[ Last edited by mze04532 on 2011-4-16 at 14:10 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

文俊点点

木虫 (著名写手)


`````````````太伤心了  没人理我···············
2楼2011-04-22 21:19:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
文俊点点(金币+5): 说的也是啊··········不过已解决了················ 2011-04-23 13:37:52
引用回帖:
Originally posted by 文俊点点 at 2011-04-16 12:18:32:
自己写的四皇后回溯遍历问题,即在4*4的方格上放置四个皇后,任意两个不能同行同列,及在对角线的位置上。感觉没问题  但没有输出,好像是死循环·········

求助~~~~~~~~~~~~
#include<stdio.h> ...

希望尽量详细介绍算法的出发点、设计思想、算法输入输出定义,以及应用场合吧。
否则没头没脑的,让大家怎么帮你?
3楼2011-04-22 21:41:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liujie8882

铁虫 (正式写手)


文俊点点(金币+1): ````````````````````````` 2011-04-24 12:03:15
祝一切顺利……
4楼2011-04-22 21:53:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sunlin313

禁虫 (初入文坛)

文俊点点(金币+4): 剩下4个金币都给你吧············· 2011-05-19 18:13:48
本帖内容被屏蔽

5楼2011-05-11 19:19:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

beyond9522

银虫 (小有名气)



小木虫(金币+0.5):给个红包,谢谢回帖
确实看不出发程序要干什么?
6楼2011-08-27 22:47:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

aarondeng

金虫 (小有名气)



小木虫(金币+0.5):给个红包,谢谢回帖
while(b[1]<=4)
这里的b[1]是不是错了?应该是b?
没认真看,如果是进入死循环,肯定是在这些判断的地方啊。
7楼2011-08-28 23:16:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

文俊点点

木虫 (著名写手)


引用回帖:
7楼: Originally posted by aarondeng at 2011-08-28 23:16:09:
while(b[1]<=4)
这里的b[1]是不是错了?应该是b?
没认真看,如果是进入死循环,肯定是在这些判断的地方啊。

已经解决了········这是很久以前的问题了··········
8楼2011-08-30 13:01:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 文俊点点 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 怎么看青基中了没有啊 +6 叶九微 2026-08-26 6/300 2026-08-31 23:54 by yudaoqian88
[基金申请] 投票:  有多少人是今天查系统知道结果的? +17 爱看书的可乐 2026-08-26 19/950 2026-08-31 21:30 by xiangy672
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 基金不中,共勉 +12 eulota 2026-08-26 12/600 2026-08-31 08:42 by ZJTJZ
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
信息提示
请填处理意见