| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 725 人关注过本帖
标题:各位大神,来帮帮小弟吧,求解题思路,求算法
只看楼主 加入收藏
loveClangage
Rank: 8Rank: 8
来 自:广东云浮
等 级:蝙蝠侠
帖 子:326
专家分:891
注 册:2013-8-23
结帖率:100%
收藏
已结贴  问题点数:70 回复次数:7 
各位大神,来帮帮小弟吧,求解题思路,求算法
    2x3=6个方格中放入ABCDE五个字母,右下角的那个格空着。如图【1.jpg】所示。

    和空格子相邻的格子中的字母可以移动到空格中,比如,图中的C和E就可以移动,移动后的局面分别是:

A B
D E C

A B C
D   E

    为了表示方便,我们把6个格子中字母配置用一个串表示出来,比如上边的两种局面分别表示为:

AB*DEC
ABCD*E

    题目的要求是:请编写程序,由用户输入若干表示局面的串,程序通过计算,输出是否能通过对初始状态经过若干次移动到达该状态。可以实现输出1,否则输出0。初始状态为:ABCDE*
   
    用户输入的格式是:先是一个整数n,表示接下来有n行状态。程序输出也应该是n行1或0

    例如,用户输入:

3
ABCDE*
AB*DEC
CAED*B

    则程序应该输出:
1
1
0
搜索更多相关主题的帖子: 编写程序 格子 用户 字母 
2013-11-08 20:29
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:70 
图论问题。所以可以以初始状态为根建立一棵可以转换状态的树。

这是理论分析,编程中不必实际构建这棵树,应用广度优先搜索遍历一下并标记可到达的状态就可以了。

这个过程与寻找图中两结点的最短路径相似。图的规模也不大,结点数不超过720个。

呵呵,分析就到这里。代码最好自己实现(这样才有成就感对吧),想要我的代码就请把70分全加到这个贴子上。

重剑无锋,大巧不工
2013-11-08 23:50
a151141
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:197
专家分:680
注 册:2012-10-19
收藏
得分:0 
回复 2楼 beyondyf
还是不明白。
如果版主有空可以细细的讲一下,
并提供参考代码的话,
我也送版主70分

确实一头雾水,想弄个明白

世界上幸福的事就是抓到一只羊,更幸福的事就是抓到两只羊……
2013-11-09 00:00
a151141
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:197
专家分:680
注 册:2012-10-19
收藏
得分:0 
回复 2楼 beyondyf
呵呵

世界上幸福的事就是抓到一只羊,更幸福的事就是抓到两只羊……
2013-11-09 00:01
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
呵呵,以往都是我送别人分,难得有人要给我送分啊。现在太晚了我该休息了,明天你开个贴我去作答

重剑无锋,大巧不工
2013-11-09 00:06
loveClangage
Rank: 8Rank: 8
来 自:广东云浮
等 级:蝙蝠侠
帖 子:326
专家分:891
注 册:2013-8-23
收藏
得分:0 
回复 2楼 beyondyf
如果有思路当然是自己写啦,自己试下,还是不行就要你的代码吧

编写的程序,不能改变世界,却可以改变自己...
2013-11-09 19:15
a151141
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:197
专家分:680
注 册:2012-10-19
收藏
得分:0 
回复 5楼 beyondyf
呵呵,帖子已开,等版主讲解啊
https://bbs.bccn.net/viewthread.php?tid=423308&extra=page%3D1&frombbs=1

世界上幸福的事就是抓到一只羊,更幸福的事就是抓到两只羊……
2013-11-09 21:37
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
收藏
得分:0 
A B
D E C 楼主不写成题目那样的,当成AB*CED;
范例的
ABCDE*
AB*DEC
CAED*B
改成
ABC*ED
AB*CED
CAEB*D
.观察下。答案呼之欲出。

好好学习,天天想上
2013-11-10 00:11
快速回复:各位大神,来帮帮小弟吧,求解题思路,求算法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029096 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved