独立钻石棋详解
来源:互联网 发布:欧洲瘟疫知乎 编辑:程序博客网 时间:2024/04/28 01:47
在独立钻石棋一文中,有关于独立钻石棋的代码。
我自己找出了一个最后只剩一个棋子,而且还在最中间的方案,然后把代码稍微修改,得到下面的代码,用来显示我发现的方案。
代码:
#include<iostream>using namespace std;int list[7][7];void display(){for (int i = 0; i < 7; i++){for (int j = 0; j < 7; j++){if (i == 2 || i == 3 || i == 4 || j == 2 || j == 3 || j == 4){if (list[i][j] == 2)cout << "●";else cout << "〇";}else cout << " ";}cout << endl;}cout << endl << endl << endl;}void up(int i, int j){list[i - 1][j] ++;list[i][j] --;list[i + 1][j] --;display();}void down( int i, int j){list[i + 1][j] ++;list[i][j] --;list[i - 1][j] --;display();}void left(int i, int j){list[i][j - 1] ++;list[i][j] --;list[i][j + 1] --;display();}void right(int i, int j){list[i][j + 1] ++;list[i][j] --;list[i][j - 1] --;display();}int main(){for (int i = 0; i < 7; i++)for (int j = 0; j < 7; j++){list[i][j] = 0;if (i == 2 || i == 3 || i == 4 || j == 2 || j == 3 || j == 4)list[i][j] = 2;}list[3][3] = 1;display();down(2, 3);right(2, 2);up(3, 2);right(4, 1);down(2, 2);down(3, 0);left(4, 2);right(4, 1);left(2, 3);down(1, 4);right(0, 3);up(2, 4);down(1, 4);left(2, 4);left(2, 2);down(3, 1);right(4, 2);up(5, 2);up(4, 4);left(4, 5);down(3, 6);right(4, 4);left(4, 5);down(4, 4);up(5, 4);right(3, 3);up(5, 3);down(4, 4);right(4, 3);up(4, 4);left(3, 4);system("pause>nul");return 0;}
运行结果:
(由于排版的问题,我将输出的结果变成了图片)
在223(1)中,我还给出了另外一种解法。
1 0
- 独立钻石棋详解
- 独立钻石棋
- 独立钻石棋(Diamond Chess)算法
- 独立钻石跳棋问题
- Hopping dots (独立钻石棋变种)攻略
- 求助独立钻石算法实现
- 钻石独立棋的用HASH表和栈改进版
- 独立钻石跳棋问题的C++实现
- 钻石心
- 人生钻石
- 钻石图形
- 钻石图形
- 钻石(简单)
- 钻石语法
- 钻石布展
- 详解Silverlight 2中的独立存储
- 详解Silverlight 2中的独立存储(转载)
- 详解Silverlight 2中的独立存储
- Spring Mvc与Json数据交互
- 用python写爬虫爬取腾讯视频的评论
- AJAX初级应用
- HDU5122 K.Bro Sorting 树状数组
- 通过实例深入理解HTML5/CSS3/SVG/WebGL的技术本质
- 独立钻石棋详解
- zend studio 创建项目然后合并没有创建项目的文件
- 87. Scramble String
- 【Python爬虫】按时爬取京东几类自营手机型号价格参数并存入数据库
- Android应用框架之应用启动过程
- android 创建项目后R包问题
- arm汇编语言(android)调用C函数之参数传递
- Java之编写一个自己的加载器
- string find函数