原题链接:计算鞍点
解题思路:
使用一个行最大元素列表和一个列最小元素列表,去比较矩阵的每个元素是不是满足行最大和列最小。
注意事项:
注意数组下标从0开始,但行列下标是从1开始
参考代码:
a=[] #存矩阵 rows=[] #存每一行的最大元素 cols=[] #存每一列的最小元素 for i in range(5): tmp=list(map(int, input().split())) a.append(tmp) #读入到矩阵的每行 rows.append(max(tmp)) #存每一行的最大元素 for j in range(5): mintmp=a[0][j] for i in range(5): if a[i][j]<mintmp: mintmp=a[i][j] cols.append(mintmp) #存每一列的最小元素 flag = 1 #1表示没有找到矩阵鞍点 for i in range(5): for j in range(5): if a[i][j] == rows[i] and a[i][j] == cols[j]: print(i+1,j+1,a[i][j]) #遍历矩阵的每个元素,判断其是不是行最大和列最小 flag=0 #0表示找到了矩阵鞍点 if flag ==1: print("not found")
0.0分
4 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复