题目名称 | 1161. 黑白棋子的移动 |
---|---|
输入输出 | chessman.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 5 |
题目来源 | 王者自由 于2012-10-16加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:65, 提交:85, 通过率:76.47% | ||||
ConanQZ | 100 | 0.000 s | 0.17 MiB | Pascal |
传奇 | 100 | 0.000 s | 0.17 MiB | Pascal |
筽邝 | 100 | 0.000 s | 0.17 MiB | Pascal |
helloworld123 | 100 | 0.000 s | 0.17 MiB | Pascal |
VacaTionGOD | 100 | 0.000 s | 0.17 MiB | Pascal |
我想 | 100 | 0.000 s | 0.17 MiB | Pascal |
传奇 | 100 | 0.001 s | 0.17 MiB | Pascal |
..... | 100 | 0.001 s | 0.17 MiB | Pascal |
521 | 100 | 0.001 s | 0.23 MiB | C++ |
ミント | 100 | 0.001 s | 0.29 MiB | C++ |
关于 黑白棋子的移动 的近10条评论(全部评论) | ||||
---|---|---|---|---|
找规律吧..
Hakurou!
2016-04-15 20:00
5楼
| ||||
分治分治
| ||||
| ||||
| ||||
|
有$2n(n\geq 4)$个棋子排成一行,开始为位置白子全部在左边,黑子全部在右边。如下图为$n=5$的情况:
○○○○○●●●●●
移动棋子的规则是:
(1)每次必须同时移动相邻的两个棋子,颜色不限,可以左移也可以右移到空位上去,但不能调换两个棋子的左右位置。
(2)每次移动必须跳过若干个棋子(不能平移),要求最后能移成黑白相间的一行棋子。
如$n=5$时,成为:
○●○●○●○●○●
任务:编程打印出移动过程。
一个整数 $n$。
若干行,表示初始状态和每次移动的状态,用o
表示白子,*
表示黑子,-
表示空位。
7
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* step10:o*o*o*--o*o*o*o* step11:--o*o*o*o*o*o*o*
--表示棋盘上的空位。