SP12908 BNMT - Binary Matrix

题目描述

给定一个 **r** x **c** 的矩阵,每个元素是 0 或 1。每次操作中,你可以翻转矩阵中的任意一个元素,即将 0 变为 1 或 1 变为 0。你的任务是将矩阵转换为以下要求的状态: 1. 每一行中的数字 1 的个数相同; 2. 每一列中的数字 1 的个数相同。 请计算达到这个目标所需的最小操作次数。

输入格式

输入首先包含一个正整数 **T**,代表测试案例的数量(不超过 1000 个)。 接下来每个案例以两个整数 **m** 和 **n** 开始,分别表示矩阵的行数和列数(1 ≤ **r**, **c** ≤ 40)。接下来的 **m** 行,每行有 **n** 个整数,取值为 0 或 1。

输出格式

对于每个测试案例,输出一个格式为 `“Case #: R”` 的字符串,其中 `#` 是当前案例的编号,**R** 是达到目标矩阵所需的最小操作次数。如果无法实现目标矩阵,输出 `-1` 替代 **R**。 **本翻译由 AI 自动生成**