#P6070. 『MdOI R1』Decrease
『MdOI R1』Decrease
题目描述
给定一个 的矩阵,你可以进行若干次操作。
每次操作,你可以将一个 的 连续 子矩阵里的所有数全都加上 或者全都减去 。
初始时,矩阵中有 个位置上的数不为 ,其它位置上的数均为 。
请你求出至少需要多少次操作,可以将矩形中所有数都变为 。
输入格式
第一行三个整数 ,分别表示矩阵大小,非 格数和每次修改的连续子矩阵大小。
接下来 行,每行三个整数 ,表示初始时矩阵的第 行第 列上的数为 。
输出格式
一行一个整数,表示最少操作次数。
特别地,如果无法使矩阵中所有数都变为 ,输出 -1
。
提示
【样例 1 解释】:
给出的矩阵为:
具体步骤:
先将以第一行第一列为左上角的连续子矩阵执行 减 1 操作 一次;
再将以第二行第二列为左上角的连续子矩阵执行 减 1 操作 两次。
总共三次。
【样例 2 解释】:
给出的矩阵为:
只通过 的连续子矩阵操作不可能使得所有格子上的数都变为 。
【数据范围】
本题采用捆绑测试。
子任务编号 | 分值 | ||
---|---|---|---|
1 | 11 | ||
2 | 14 | ||
3 | 17 | ||
4 | 34 | ||
5 | 24 |
对于所有数据,,,,,每对 至多出现一次,。
数据保证如果有解,答案不超过 。
【提示】
本题读入量较大,建议使用较快的读入方式。