黑白棋子的移动(normal) 1310
来源:互联网 发布:宋仲基和杨洋长相知乎 编辑:程序博客网 时间:2024/05/16 13:04
黑白棋子的移动(normal)
Time Limit:1000MS Memory Limit:65536KTotal Submit:164 Accepted:48
Description
有2n个棋子(n≥4)排成一行,开始为位置白子全部在左边,黑子全部在右边,如下图为n=5的情况: ○○○○○●●●●● 移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移也可以右移到空位上去,但不能调换两个棋子的左右位置。每次移动必须跳过若干个棋子(不能平移),要求最后能移成黑白相间的一行棋子。如n=5时,成为: ○●○●○●○●○● 任务:编程打印出移动过程。
Input
Output
Sample Input
7
Sample Output
step 0:ooooooo*******--step 1:oooooo--******o*step 2:oooooo******--o*step 3:ooooo--*****o*o*step 4:ooooo*****--o*o*step 5:oooo--****o*o*o*step 6:oooo****--o*o*o*step 7:ooo--***o*o*o*o*step 8:ooo*o**--*o*o*o*step 9:o--*o**oo*o*o*o*step 10:o*o*o*--o*o*o*o*step 11:--o*o*o*o*o*o*o*
Source
elba
var n,st,sp:longint; a:array[1..10000]of char;procedure prain;var i:longint;begin write('step',st:2,':'); for i:=1 to 2*n+2 do begin write(a[i]); end; writeln; st:=st+1;end;procedure init(n:longint);var i:longint;begin st:=0; sp:=2*n+1; for i:=1 to n do a[i]:='o'; for i:=n+1 to 2*n do a[i]:='*'; a[2*n+1]:='-'; a[2*n+2]:='-'; prainend;procedure move(k:longint);var i,j:longint;begin for j:=0 to 1 do begin a[sp+j]:=a[k+j]; a[k+j]:='-'; end; sp:=k; prain;end;procedure mv(n:longint);var i,k:longint;begin if n=4 then begin move(4); move(8); move(2); move(7); move(1); end else begin move(n); move(2*n-1); mv(n-1); end;end;begin readln(n); init(n); mv(n);end.
1 0
- 黑白棋子的移动(normal) 1310
- 黑白棋子的移动(normal) 1310
- 黑白棋子的移动(normal) ssl 1310
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动
- 黑白棋子的移动 ssl-1310
- 黑白棋子的移动——深搜
- 【递归】洛谷 P1259 黑白棋子的移动
- 黑白棋子移动
- 黑白染色棋子
- 【华为机试题】黑白棋子的最大匹配度
- [创新杯] 七个黑白棋子 跳棋问题 ,怀念实验室里和老师摆弄棋子的校园生活.
- 进程管理-----黑白棋子之分
- 棋盘 围棋? 黑白棋子? 我忘记了
- 【CQOI 2006】移动棋子
- 去哪儿网前端架构师司徒正美:如何挑选适合的前端框架?
- 算法--排序--堆排
- jquery checkbox的相关操作——全选、反选、获得所有选中的checkbox
- Spring AOP详解面向切面编程
- 黑盒测试方法(一)等价类划分
- 黑白棋子的移动(normal) 1310
- Android持久化存储----文件
- Vim 命令配置详解
- 高仿蘑菇街欢迎页
- 如何启用被停用任务管理器
- java虚拟机运行数据区笔记
- URAL K-based Numbers(1-3)
- python对象:访问私有属性和私有方法
- 文章标题SSL 1763 观光旅游