比赛场次 173
比赛名称 20121009
比赛状态 已结束比赛成绩
开始时间 2012-10-09 19:00:00
结束时间 2012-10-09 22:00:00
开放分组 全部用户
注释介绍
题目名称 翻转游戏
输入输出 flip.in/out
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试点数 20 简单对比
用户 结果 时间 内存 得分
GravatarMakazeu AAAAAAAAAAAAAAAAAAAA
0.070 s 3.47 MiB 100
Gravatar王者自由 AAAAAAAAAAAAAAAAAAAA
0.100 s 3.33 MiB 100
GravatarTBK AAAAAAAAAAAAAAAAAAAA
2.978 s 3.15 MiB 100
Gravatar苏轼 AAWAAAAAAAAAAAAAAAAA
0.083 s 10.36 MiB 95
Gravatar万里长城 AAAAAAAAWAWAAAAAAAAA
0.051 s 3.15 MiB 90
GravatarCloud AAWWAAAAAAAAAAAAAAAA
0.106 s 12.81 MiB 90
Gravatar11111111 AWAAAAWWWAWWAAAAWWWW
0.007 s 3.15 MiB 50
Gravatar临轩听雨ゐ C 0.000 s 0.00 MiB 0
GravatarTruth.Cirno C 0.000 s 0.00 MiB 0

翻转游戏

★☆   输入文件:flip.in   输出文件:flip.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】

翻转游戏是在一个4格×4格的长方形上进行的,在长方形的16个格上每个格子都放着一个双面的物件。每个物件的两个面,一面是白色,另一面是黑色,每个物件要么白色朝上,要么黑色朝上,每一轮你只能翻3至5个物件,从而由黑到白的改变这些物件上面的颜色,反之亦然。每一轮被选择翻转的物件遵循以下规则:

1、从16个物件中任选一个。

2、翻转所选择的物件的同时,所有与它相邻的左方物件、右方物件、上方物件和下方物件(如果有的话),都要跟着翻转。

以下为例:

bwbw
wwww
bbwb
bwwb

这里"b"表示该格子放的物件黑色面朝上、"w"表示该格子放的物件白色朝上。如果我们选择翻转第三行的第一个物件,那么格子状态将变为:

bwbw
bwww
wwwb
wwwb

游戏的目标是翻转到所有的物件白色朝上或黑色朝上。你的任务就是写一个程序来求最

少的翻转次数来实现这一目标。

【输入格式】

输入包含4行,每行4个字符,每个字符"w" 或 "b"表示游戏开始时格子上物件的状态。

【输出格式】

输出仅一个整数,即从给定状态到实现这一任务的最少翻转次数。如果给定的状态就已经实现了目标就输出0,如果不可能实现目标就输出"Impossible"。

【样例输入】

bwwb
bbwb
bwwb
bwww

【样例输出】

4

【来源】

冲刺NOIP2010模拟试题与解析(七)(提高组复赛)