解题思路:还是我文心一言牛逼霍,直接复制粘贴就对了
注意事项:
参考代码:
def check_matrix(matrix):
n = len(matrix)
row_counts = [sum(row) for row in matrix] # 统计每行1的个数
col_counts = [sum(matrix[i][j] for i in range(n)) for j in range(n)] # 统计每列1的个数
# 检查是否所有行和列的1的个数都是偶数
if all(count % 2 == 0 for count in row_counts + col_counts):
return "OK"
# 检查是否只有一个行或列的1的个数是奇数
odd_rows = [i for i, count in enumerate(row_counts) if count % 2 != 0]
odd_cols = [i for i, count in enumerate(col_counts) if count % 2 != 0]
if len(odd_rows) + len(odd_cols) != 2:
return "Corrupt"
# 如果有且仅有一个行和一个列的1的个数是奇数,找到这个共同的元素(即位于奇数行和奇数列的交点)
if len(odd_rows) == 1 and len(odd_cols) == 1:
row, col = odd_rows[0], odd_cols[0]
return f"{row+1} {col+1}" # 行列号从1开始计数
# 理论上这行代码不会被执行,因为上面的条件已经涵盖了所有情况
return "Corrupt"
# 示例输入
n = int(input().strip())
matrix = [list(map(int, input().strip().split())) for _ in range(n)]
# 输出结果
print(check_matrix(matrix))
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复