Oj.Nbdp.Net
初赛题库
问题
状态
排名
团队
题解
课程
Login
问题 5594 --黑白翻转棋
5594: 黑白翻转棋
警告!
题目
状态
题解(1)
题目描述
有一种叫做黑白翻转棋的游戏,棋盘由 $n\times m$ 个方格组成,每个方格上放置一枚棋子,每一枚棋子一面为黑,一面为白。若翻转某枚棋子,它的颜色就会由黑变白,或者由白变黑。一开始,棋子可能是黑色的,也可能是白色的。如果把所有的格子都翻成白色,游戏就结束了。 小爱可以按照任意顺序翻转任意数量的棋子,但游戏规则规定,选择翻动某一枚棋子时,与这个棋子的方格共享边界的其它棋子也必须被同时被翻转。小爱可能在一个步骤中,同时翻转五个棋子(棋子在中间)、四个棋子(棋子在边界上)或三个棋子(当棋子在角上)。 请帮助小爱计算一下,她最少需要多少步骤才能把所有棋子都翻成白色?如果给定的初始局面是不可能结束游戏的,输出 `Impossible`。
输入
+ 第一行:两个整数 $n$ 和 $m$ + 第二行到 $n + 1$ 行:第 $i + 1$ 行有 $m$个整数表示初始棋盘中第 $i$ 行棋子的颜色,1 表示黑色,0 表示白色
输出
如果不能将所有棋子都翻转为白面朝上的话,输出 `Impossible`。 否则输出最少翻转次数。
样例输入输出
输入#1
复制
3 3 0 1 0 1 1 1 0 1 0
输出#1
复制
1
提示
+ 对于 $30\%$ 的数据,$1\leq n,m\leq 4$; + 对于 $60\%$ 的数据,$1\leq n,m\leq 10$; + 对于 $100\%$ 的数据,$1\leq n,m\leq 20$。 样例1说明:翻转中间一个棋子即可
发表题解
序号
标题
作者
发表时间
费用
订购数
操作
题目信息
提交
难度
普及+/提高-
标签
位运算
点击显示
if ($pr_flag) { ?>
递交数
5
已通过
2
} ;?>
通过率
40%
时间限制
1 秒
内存限制
256 MB
来源
YACS2021年10月月赛丙组
收藏
标签云
模拟
数学与数论
动态规划
贪心
字符串
排序
枚举
数组与串
深搜
高精度
循环结构
递推
递归
二分三分
宽搜
背包
质数
线段树
分治
N进制
图论
队列
最短路
堆
树
并查集
栈
状态压缩
分支结构
几何
博弈论
生成树
顺序结构
离散化
hash表
位运算
单调队列
树状数组
KMP
字典树
二分图
数学期望
AC自动机
树链剖分
差分约束
数位动态规划
函数与过程
网络流
单调栈
前缀和