解题思路:还是我文心一言牛逼霍,直接复制粘贴就对了

注意事项:

参考代码:

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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论