AT_oidashi_b.ライツアウト
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一天,太郎在散步时,天上掉下来了一台奇怪的机器。太郎对这台机器产生了兴趣,于是捡起来研究了一下。
这台机器上排列着 H 行 W 列的灯,每个灯有“开(ON)”和“关(OFF)”两种状态。如果按下某个灯,这个灯以及与其上下左右相邻的灯的状态都会反转。
(按下中央红圈的灯时的示意图)
但是,由于掉落时的冲击,有些灯坏掉了,无法被按下。不过,按下相邻的灯时,坏掉的灯的状态仍会像正常一样被反转。
太郎想知道,要将所有灯的状态都变为“关(OFF)”,最少需要按多少次灯。请你帮太郎求出将所有灯的状态都变为“关(OFF)”所需的最小按灯次数。
输入格式
输入通过标准输入给出,格式如下:
H W
s0,0 s0,1 ... s0,(W−1)
s1,0 s1,1 ... s1,(W−1)
...
s(H−1),0 s(H−1),1 ... s(H−1),(W−1)
N
x1 y1
x2 y2
...
xN yN
- 第 1 行,H, W(5≤H,W,H×W≤400)表示机器上灯的行数和列数。
- 接下来的 H 行,每行有 W 个用空格分隔的数字 0 或 1,0 表示该灯为“关(OFF)”,1 表示该灯为“开(ON)”。
- 第 H+1 行,N(0≤N≤W×H)表示坏掉的灯的数量。
- 接下来的 N 行,每行两个整数 xi(0≤xi≤W−1)、yi(0≤yi≤H−1),表示坏掉的灯的列和行坐标。
- 保证一定存在一种操作方法可以将所有灯全部关掉。
- 坏掉的灯的坐标不会重复。
输出格式
输出一个整数,表示将所有灯的状态变为“关(OFF)”所需的最小按灯次数。输出后请换行。
输入输出样例
输入#1
5 5 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0
输出#1
5
输入#2
5 5 0 0 0 0 0 1 1 0 0 1 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 1 1 2
输出#2
9
说明/提示
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?