问题描述
中国象棋里面双方的“将”和“帅”各自呆在自己的九宫格里,一步只能横移或纵移一格,而且双方不能见面(既不能处在同一条纵线上)。在残局时有的人会用这一规则走出绝妙杀招。假设一方的“将”为A,另一方的“帅”为B,现在求双方所能出现的所有合法位置,所需变量只能用一个字节来保存。
我的解法
#include 
int main(void)
{
	unsigned char chPos...
                            
                            
                                分类:
其他好文   时间:
2014-11-30 12:36:04   
                                阅读次数:
133
                             
                    
                        
                            
                            
                                改编来源:http://www.cnblogs.com/在cocos2dx官网看到了这么个教程,是cocos2dx 2.x版本的,于是用 cocos2dx 3.2 照着敲了一遍,原先的代码里面有些bug也顺道修了一下。实现了个主体功能,开始啦,走棋及其判断,胜负判断。效果图如下:代码下载地址:htt...
                            
                            
                                分类:
其他好文   时间:
2014-11-28 19:54:47   
                                阅读次数:
200
                             
                    
                        
                            
                            
                                题目大意:给出棋盘的大小,问任意行和列放置的棋子都不超过两个有多少种方案。
思路:一个比较麻烦的DP。f[i][j][k]表示到前i行,放置了一个棋子的列为j,放置了两个棋子的列为k的方案数,然后有六个转移:
f[i][j][k] = f[i - 1][j][k] 								//不取
           + f[i - 1][j - 1][k] * (n - (j - 1)...
                            
                            
                                分类:
其他好文   时间:
2014-11-26 19:07:05   
                                阅读次数:
189
                             
                    
                        
                            
                            
                                代码下载地址:https://code.csdn.net/FansUnion/chinesechess-v1/** * 项目名称: FansChineseChess * 版本号:1.0 * 名字:雷文 * 博客: http://FansUnion.cn * CSDN:http://blog.csdn.net/FansUnion * 邮箱: leiwen@FansUnion.cn * QQ:240-...
                            
                            
                                分类:
其他好文   时间:
2014-11-22 09:18:52   
                                阅读次数:
138
                             
                    
                        
                            
                            
                                在上一节中实现了走棋规则,这节中将实现悔棋
首先看一下悔棋的效果:
通过观察上图中的演示可知,当单击悔棋按钮后,移动了的棋子会回到原来的位置上,
实现方式:
首先在SceneGame类中定义一个成员变量CCArray* _steps,用于保存每步棋的棋子信息
 //保存每步走的棋子
    CCArray* _steps;
在SceneGame类中的成员函数init...
                            
                            
                                分类:
其他好文   时间:
2014-11-21 21:55:44   
                                阅读次数:
325
                             
                    
                        
                            
                            
                                在上一节中实现了悔棋,在这节将介绍如何在游戏中添加背景音乐
看一下效果:
实现思路:
当单击后游戏中播放背景音乐,并且背景音乐切换按钮由变成
当单击后停止播放背景音乐,并且背景音乐切换按钮由变成
当游戏进入后台后停止播放背景音乐
当游戏恢复后继续播放背景音乐
实现代码:
在SceneGame类中定义一个成员函数Voice(CCObject*)用于实现背景音乐的切...
                            
                            
                                分类:
其他好文   时间:
2014-11-21 21:53:16   
                                阅读次数:
226
                             
                    
                        
                            
                            
                                题目大意:给定一个棋盘,放置一些炮,要求任意两个炮不能互相攻击,求方案数对p取模的值
首先任意两个炮不互相攻击等价于一条线上最多只能有两个炮
直接状压DP的话是50分
考虑到每一列都是等价的 那么我们可以直接递推
令f[i][j][k]为前i行有j列有一个炮 k列有两个炮
那么讨论
这行不放炮 方案数为f[i-1][j][k]
在原先没有炮的列放炮 方案数为f[i-1][j-1][k...
                            
                            
                                分类:
其他好文   时间:
2014-11-19 01:56:35   
                                阅读次数:
158