Python 求解:n×n 矩阵全置零的最少 k×k 子矩阵操作次数!
以下是使用 Python 解决此问题的示例代码: ```python import math def check_possible(n, m, k, positions): if k > n: return -1 count = 0 matrix = [[0] * n for _ in range(n)] for x, y, z in positions: matrix[x - 1][y - 1] = z def operate(x, y, add): for i in range(x, min(x + k, n)): for j in range(y, min(y + k, n)): matrix[i][j] += add while True: found_non_zero = False for i in range(n): for j in range(n): if matrix[i][j]!= 0: found_non_zero = True if i + k <= n and j + k <= n: operate(i, j, -matrix[i][j] // abs(matrix[i][j])) count += 1 if not found_non_zero: break for row in matrix: for num in row: if num!= 0: return -1 return count n, m, k = map(int, input().split()) positions = [list(map(int, input().split())) for _ in range(m)] print(check_possible(n, m, k, positions)) ``` 这段代码首先构建初始矩阵,然后通过不断的操作尝试将所有元素变为 0 ,如果最终无法全部变为 0 则返回 -1 ,否则返回操作次数。 ######[AI写代码神器 | 360点数解答 | 2024-10-24 14:05:14]
- Python实现Q老师成绩管理任务:修改与查看学生成绩(字节豆包 | 191点数解答 | 2025-12-20 20:55:41)70
- Python 代码助力 Q 老师高效管理班级学生成绩:修改与查看一键搞定(字节豆包 | 326点数解答 | 2025-12-27 20:48:12)70
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)458
- C++ 实现:轻松计算两个矩阵的乘法并输出结果(字节豆包 | 381点数解答 | 2025-12-03 19:20:23)109
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)414
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)405
- Java调用Python接口中文乱码?设置UTF - 8编码一招解决!(讯飞星火 | 263点数解答 | 2024-06-06 17:07:59)389
- 解决Java调用Python接口中文乱码问题:设置UTF - 8编码全攻略(讯飞星火 | 160点数解答 | 2024-06-06 17:18:39)414
- Java调用Python接口中文乱码问题:字符编码统一解决方案(讯飞星火 | 344点数解答 | 2024-06-06 17:19:55)526
- 解决Java调用Python接口时中文值乱码问题:设置字符编码为UTF-8(讯飞星火 | 264点数解答 | 2024-06-06 17:27:09)389
- Python 实现:根据规则判定 2^n×2^n 方阵中作弊者的赦免命运(字节豆包 | 247点数解答 | 2024-11-03 10:30:46)192
- C语言实现:解决2ⁿ×2ⁿ方阵作弊者赦免问题(字节豆包 | 370点数解答 | 2024-11-03 10:31:31)208