残局挑战第14期十六期怎么过

12345678910
10-0910-0110-0109-3009-3009-3009-3009-3009-3009-30
京公网安备 86 京ICP证140355号 京网文【-109号
未成年人家长监护
注意:本游戏需安卓版与数据包一同下载才能进行游戏天天象棋挑战残局15期10月2日_百度知道【每周一残局】第十六期黑白棋 | 黑白纵横小组 | 果壳网 科技有意思
5800人加入此小组
前阵子发了这贴是当时名为当中的一题,现在贴出原帖第二题还是黑先胜。
+ 加入我的果篮
黑白纵横小组管理员
做出了和上次类似的解:黑 白C8 D8h6 h5b2 --f1 e1b7 --g7 --g2黑31:29白,黑胜
但好像还有其他的变化:黑 白h6 h5b2 --c8 d8g2e1f1 a1h1 g7h8 --a8 --b7黑35:29白,黑胜不过按照黑白棋的规则,这两个结果是一样的?
但貌似还有更凶残的变化啊:黑 白h6 h5b2 --f1 e1b7 c8a8以下略,总之黑棋一番大杀特杀,最后60:4胜。白棋在h5和e1时都有其他选择,可以少输一点,但大败是无可避免的。水平有限,不知道上面的次序是否正确
h6控对角线杀棋啊这样情况,黑想赢多就要控线。
黑白纵横小组管理员
引用 的话:貌似还有更凶残的变化啊:黑 白h6 h5b2 --f1 e1b7 c8a8以下略,总之黑棋一番大杀特杀,最后60:4胜。白棋在h5和e1时都有其他选择,可以少输一点,但大败是无可避免...试了一下对的
四角不占,坐等死。
不爱下棋,等周末有空写个程序遍历一下,不知有人做过吗,需要多少内存。
软件工程师,小众软件爱好者
引用 的话:不爱下棋,等周末有空写个程序遍历一下,不知有人做过吗,需要多少内存。黑白棋没有“提”,相对来说好计算。而且是残局,内存消耗应该很小。
简单想了下8个char 来表示位置是否空8个char 来表示非空位置是黑子还是白子所以每一步需要16个char,算法还要去除dead loop ,等等,周末研究下黑白棋规则再说。
黑白纵横小组管理员
引用 的话:简单想了下8个char 来表示位置是否空8个char 来表示非空位置是黑子还是白子所以每一步需要16个char,算法还要去除dead loop ,等等,周末研究下黑白棋规则再说。用斑马摆一下不就行了吗
棋的表示方法-------和|||||代表 棋盘上水平和竖直分隔线棋盘的位置表示格式 A-H代表 列数(白子用)a-h代表 列数(黑子用)1-8代表 行数棋盘上b-black 黑子 w-white 白子 (空格)-empty 空,无子a1 黑子落A1位(黑先,小写字母代表黑棋落子)A1 白子落A1位(白后,大写字母代表白棋落子)board 3 开局 黑先be4 D4 d5 E5 (按规则下头4子) A B C D E F G H a b c d e f g h ---------------------------------1 | | | | | | | | | ---------------------------------2 | | | | | | | | | ---------------------------------3 | | | | | | | | | ---------------------------------4 | | | | w | b | | | | ---------------------------------5 | | | | b | w | | | | ---------------------------------6 | | | | | | | | | ---------------------------------7 | | | | | | | | | ---------------------------------8 | | | | | | | | | ---------------------------------一 按 落子位置 的名称建立 structuree4 D4 d5 E5用char * x[] 记录步数定义字母=表示字母的二进制格式=表示字母的十进制格式=ASCII字母(或16进制表示)a=0bb=0bc=0bd=0be=0bf=0bg=0bA=0bB=0bC=0bD=0bE=0bF=0bG=0b1=0b2=0b3=0b4=0b5=0b6=0b7=0b8=0be4表示为 e+4=0bb+4=68='D'D4表示为 e+4=0bb+4=180=0xb4d5表示为 d+5=0bb+5=53='5'E5表示为 E+5=0bb+5=197=0xc5e4 D4 d5 E5表示为 D 0xb4 5 0xc5 ...... (每盘棋步序列)节省存储空间(但多步骤预测不一定节省空间),但检测loop要检测char *x中的loop,而 loop长度不定,检测loop需要大量字符串比较,比较运算需求大。二 按 棋盘状态 建立 structurestruct board {//binary map the position//初始状态step=0,其他 abs(step)&0; when step& 0 mean after black step , when step & 0 mean after white step, when abs(step) decrease mean loop happened.char on[8];//binary 1 on in white or black ,0 emptychar color[8];//binary 1 for white , 0 for blackstruct board *s;//alternative step 同一步候选下子方案,为NULL代表没有更多的候选下子方案.struct board *n;//next step 为NULL代表无下一步struct board *p;//alternative step 上一步,除了第一步外不为NULL};需要更多存储空间,但loop检测只需要检测对比以前的步即可。(one parent, [0,+inf) children 的双向链表),当有loop时,将当前step的next 指向之前同样状态的输出时abs(step)变小意味着loop happen。board 3表示为第一行on[0]=0b...第四行on[3]=0b第五行on[4]=0b...第八行on[7]=0b第一行color[0]=0b...第四行color[3]=0b第五行color[4]=0b...第八行color[7]=0b结构体 struct board {char step=-1 //黑方刚落子,下一步是白方char on[8]={0,0,0,24,24,0,0,0};char color[8]={0,0,0,16,8,0,0,0}}未完待续
来个围棋的残局……?
广搜无压力,14个空格,最多14层就一定搜的出来(
当然是黑啊~谁越少越占优势!!!【新人露脸+吐槽。。。】
引用 的话:四角不占,坐等死。高手故意不让你占的,即便让你占了,也能撑死你
(C)2016果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号天天象棋残局挑战15期10月3日六步过关怎么过_百度知道

我要回帖

更多关于 残局挑战第14期 的文章

 

随机推荐