解题思路:还是我文心一言牛逼霍,直接复制粘贴就对了
注意事项:
参考代码:
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语言考试练习题_排列 (C++代码)浏览:704 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:772 |
C语言考试练习题_排列 (C语言代码)浏览:755 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:1325 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1176 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:638 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:583 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:453 |
C二级辅导-统计字符 (C语言描述——用函数求解)浏览:1224 |
龟兔赛跑预测 (C++代码)浏览:1204 |