CF815A Karen and Game
题目描述
在上学的路上,Karen 被手机上的益智游戏吸引住了!
游戏规则如下:每一关都有一个 $n$ 行 $m$ 列的网格,每个格子最初都包含数字 $0$。
每一次操作可以选择一整行或一整列,将该行或该列所有格子的数字加 $1$。
通关的目标是在若干次操作后,使得第 $i$ 行第 $j$ 列的格子里的数字恰好等于 $g_{i,j}$。
现在,Karen 卡在了某一关,她想知道要用最少的操作次数来通关这一关。请你帮帮她!
输入格式
输入的第一行为两个整数 $n$ 和 $m$($1\leq n,m\leq 100$),分别表示网格的行数和列数。
接下来的 $n$ 行,每行有 $m$ 个整数。具体地,第 $i$ 行的第 $j$ 个整数表示 $g_{i,j}$($0\leq g_{i,j}\leq 500$)。
输出格式
如果无法通关,输出一个整数 $-1$。
否则,第一行输出一个整数 $k$,表示最少需要的操作次数。
接下来的 $k$ 行,每行描述一次操作,按照执行顺序输出:
- row $x$($1\leq x\leq n$),表示选择第 $x$ 行进行操作;
- col $x$($1\leq x\leq m$),表示选择第 $x$ 列进行操作;
如果有多个最优解,输出任意一个均可。
说明/提示
在第一个测试用例中,Karen 有一个 $3$ 行 $5$ 列的网格。她可以执行下列 $4$ 次操作来通关:
在第二个测试用例中,Karen 有一个 $3$ 行 $3$ 列的网格。显然,这一关无法通关;因为每进行一次操作都会让网格中出现三个 $1$,但需要的只是中间的那个格子为 $1$。
在第三个测试用例中,Karen 有一个 $3$ 行 $3$ 列的网格。她可以执行 $3$ 次操作来通关:
注意,这不是唯一的解法;例如 col 1、col 2、col 3 这样的操作顺序也是可行的。
由 ChatGPT 5 翻译