分治3--黑白棋子的移动
分治3--黑白棋子的移动
一、心得
二、题目和分析
三、代码和结果
1 #include <iostream> 2 using namespace std; 3 4 int n; 5 int step=0; 6 char ans[101]; 7 int sp; 8 9 void print(){ 10 cout<<"step"<<step<<":"; 11 for(int i=1;i<=2*n+2;i++) cout<<ans[i]; 12 cout<<endl; 13 step++; 14 } 15 16 void init(int n){ 17 for(int i=1;i<=n;i++) ans[i]='o'; 18 for(int i=n+1;i<=2*n;i++) ans[i]='*'; 19 for(int i=2*n+1;i<=2*n+2;i++) ans[i]='-'; 20 print(); 21 sp=2*n+1; 22 } 23 24 void move(int k){ 25 for(int i=0;i<=1;i++){ 26 ans[sp+i]=ans[k+i]; 27 ans[k+i]='-';// 28 } 29 sp=k; 30 print();// 31 } 32 33 void mv(int n){ 34 if(n==4){ 35 move(4),move(8),move(2),move(7),move(1); 36 } 37 else{ 38 move(n),move(2*n-1),mv(n-1); 39 } 40 } 41 42 int main(){ 43 cin>>n; 44 init(n); 45 mv(n); 46 return 0; 47 }
转载于:https://www.cnblogs.com/Renyi-Fan/p/7135800.html
分治3--黑白棋子的移动相关推荐
- 分治算法 黑白棋子的移动
分治算法 黑白棋子的移动 题目: 解析: 题目: 有2n个棋子(n≥4)排成一行,开始位置为白子全部在左边,黑子全部在右边,如下图为n=5的情形: ○○○○○●●●●● 移动棋子的规则是:每次必须同时 ...
- 信息学奥赛一本通(1327:【例7.6】黑白棋子的移动)
1327:[例7.6]黑白棋子的移动 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 5394 通过数: 2403 [题目描述] 有2n个棋子(n≥4)排成 ...
- 分治法 —— 黑白棋子移动
黑白棋子移动 题目描述 题意解读 Code 结语 题目描述 有2n个棋子(n≥4)排成一行,开始位置为白子全部在左边,黑子全部在右边,如下图为n=5的情形: ○○○○○●●●●● 移动棋子的规则是:每 ...
- [luogu p1259] 黑白棋子的移动
传送门 黑白棋子的移动 题目描述 有2n个棋子(n≥4)排成一行,开始为位置白子全部在左边,黑子全部在右边,如下图为n=5的情况: ○○○○○●●●●● 移动棋子的规则是:每次必须同时移动相邻的两个棋 ...
- 【华为机试题】黑白棋子的最大匹配度
棋盘上有黑白两种颜色的棋子,选出一对黑白棋子,若黑棋的横坐标小于等于白棋的横坐标,黑棋的纵坐标小于等于白棋的纵坐标,则称这一对棋子为匹配.求任意个数的黑白棋中最佳匹配的对数. 输入: 测试用例数 对每 ...
- 信息学奥赛一本通 1327:【例7.6】黑白棋子的移动 | 洛谷 P1259 黑白棋子的移动
[题目链接] ybt 1327:[例7.6]黑白棋子的移动 洛谷 P1259 黑白棋子的移动 注:两题仅输出要求不同 [题目释义] 开始时,末尾有两个空位可以使用. 棋子移动后,会在原位置留有空位,相 ...
- PV操作每日一题-黑白棋子问题(变式)
黑白棋子问题(变式)⚫⚪ 一.问题描述 二.问题求解 三.碎碎念 一.问题描述 有一个盒子中放有数量相等的黑白棋子各100枚,现在用自动分拣系统将黑白棋子分开,系统中有两个进程P1和P2.P1负责白棋 ...
- PV操作每日一题-黑白棋子问题
黑白棋子问题棋子⚫⚪ 一.问题描述 二.问题求解 三.碎碎念 温馨提示,这个题目的代码可能很简单,但是有点绕,类似于前面的橘子苹果问题的交替放入水果.好啦,开始! 一.问题描述 有一个盒子中放有数量相 ...
- matlab显示黑白棋子,围棋—暗藏在黑白棋子中的大智慧 你了解吗?
文章来源:腾讯少儿围棋 那些暗藏在围棋黑白棋子之间的大智慧,是我们一定不能忽视的.好多家长觉得围棋不适合太小的孩子学,主要有两个原因.第一点就是,觉得围棋的难度过大,对于孩子来说,只能算是一个单纯的娱 ...
- 1327:【例7.6】黑白棋子的移动——分治
[题目描述] 有2n个棋子(n≥4)排成一行,开始位置为白子全部在左边,黑子全部在右边,如下图为n=5的情形: ○○○○○●●●●● 移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左 ...
最新文章
- 用spss做多组两两相关性分析_两独立样本T检验及如何利用SPSS实现其操作
- 数据分析之CE找数据大法
- 赚到!4个Python初学者必学的Numpy小技巧
- mysql自动提交 dcl语句_MySQL基础:DCL语句总结
- intvar mysql_mysql binlog格式解析(一)
- springboot前后端分离项目MultipartFile获取前端传的file为null问题
- oracle 存储过程设置回滚点,(转)oracle 存储过程事宜使用断点回滚 -savepoint
- Linux通过SSH实现免密登录
- matlab 工业相机 曝光时间_工业相机与普通相机的差别
- Win10电脑如何定时关机
- 【BZOJ4818】序列计数(动态规划,生成函数)
- 细心整理近50个ARM开发相关的网站和学习资料
- ARM CPU Cortex-X3,Cortex-A715,Cortex-A510 | GPU Immortalis-G715
- 雷达通信术语中英文对照
- 动力节点『lol版』Java学习路线图(五)Java框架阶段
- 架构师学习笔记(四)架构师线路之系统架构师企业架构师
- 基于spring boot的奖助学金评审系统毕业设计源码031035
- Springboot 删除指定文件夹或文件(Java删除指定文件夹或文件)
- HDU1799-组合公式变形
- linux消息通信无法接收,求助!Linux基于UDP通信失败,server接收不到消息???...
热门文章
- VMware Workstation 运行出现“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题”解决方案
- js防篡改对象之不可扩展对象
- [vue-cli] vue-cli中你经常的加载器有哪些?
- 前端学习(2689):重读vue电商网站10之表格展开页
- 前端学习(1682):前端系列实战课程之让蛇改变方向
- 前端学习(1681):前端系列实战课程之让蛇动起来
- 前端学习(547):node的系统模块fs
- 玩转oracle 11g(39):oracle11g密码过期后的解决方法
- Linux 多线程开发-线程的结束pthread_kill和pthread_cancel
- STM32项目中一种在线升级/应用升级OTA-IAP设计方案