题目名称 1133. 黑白棋游戏
输入输出 bwgame.in/out
难度等级
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 GravatarMakazeu 于2012-10-10加入
开放分组 全部用户
提交状态
分类标签
搜索法
分享题解
通过:22, 提交:47, 通过率:46.81%
GravatarTA 100 0.011 s 3.52 MiB C++
GravatarTA 100 0.016 s 1.72 MiB C++
GravatarTA 100 0.023 s 1.72 MiB C++
Gravatarzhengtn03 100 0.036 s 1.06 MiB C++
GravatarSky_miner 100 0.051 s 3.38 MiB C++
Gravatarzevmre 100 0.052 s 3.44 MiB C++
Gravatarlcomyn 100 0.057 s 4.98 MiB C++
Gravatarlcomyn 100 0.058 s 4.98 MiB C++
Gravatarzevmre 100 0.064 s 3.44 MiB C++
Gravatarfye 100 0.067 s 4.22 MiB C++
关于 黑白棋游戏 的近10条评论(全部评论)
擦。。中槍
GravatarMakazeu
2012-11-01 19:24 5楼
没有评测插件你说个@鳌头
Gravatar王者自由
2012-10-29 14:51 4楼
膜拜16维数组
GravatarMakazeu
2012-10-11 09:22 3楼
这样一个的数据结构:
bool used[2][2][2][2][2][2][2][2][2][2][2][2][2][2][2][2];
bool tar[2][2][2][2][2][2][2][2][2][2][2][2][2][2][2][2];
GravatarTruth.Cirno
2012-10-11 09:00 2楼
经目测,添加题的人的提醒比较混乱
GravatarTruth.Cirno
2012-10-11 08:15 1楼

1133. 黑白棋游戏

★   输入文件:bwgame.in   输出文件:bwgame.out   评测插件
时间限制:1 s   内存限制:128 MiB

【题目描述】

黑白棋游戏的棋盘是由4*4的方格阵列构成。棋盘的每一方格中放有1枚棋子,共有8枚白棋子和8枚黑棋子。这16枚棋子的每一种放置方案都构成一个游戏状态。在棋盘上拥有1条公共边的2个方格称为相邻方格。一个方格最多可有4个相邻方格。在玩黑白棋游戏时,每一步可将任何2个相邻方格中棋子互换位置。对于给定的初始游戏状态和目标游戏状态,编程计算从初始游戏状态变化到目标游戏状态的最短着棋序列。

【输入格式】

输入文件共8行。前四行是初始游戏状态,后四行是目标游戏状态。每行四个数分别表示该行放置的棋子颜色。“0”表示白棋,“1”表示黑棋。

【输出格式】

输出文件的第一行是着棋步数n。接下来n行,每行4个数分别表示该步交换棋子的两个相邻方格的位置。例如,abcd表示棋盘上(a,b)处的棋子与(c,d)处的棋子换位。

【样例输入】

1111
0000
1110
0010
1010
0101
1010
0101

【样例输出】

4
1222
1424
3242
4344