标题 程序设计与算法(一)测验题汇总(2021春季)
032:计算鞍点
总时间限制: 1000ms 内存限制: 65536kB
描述
给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。
鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。
例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。
11 3 5 6 9
12 4 7 8 10
10 5 6 9 11
8 6 4 7 2
15 10 11 20 25
输入
输入包含一个5行5列的矩阵
输出
如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出"not found"
样例输入
11 3 5 6 9
12 4 7 8 10
10 5 6 9 11
8 6 4 7 2
15 10 11 20 25
样例输出
4 1 8
找鞍点是刚接触二维数组最容易见到的的议题,刚开始想的时候可能会有所不适应,但是写过一遍之后就会发现是很简单的!
无非就是找出每一行的最大值,再找出每一列的最小值。分别·存入给定的数组中,再进行遍历,如果某一行的最大值等于某一列的最小值,就是我们想要寻找的鞍点!
这里有一个魔鬼细节!
就是在做比较的时候,最好把刚开始的值赋值成第一个值,这样就不会发生比较错误的问题。
代码如下:
#include<iostream>
#include