【題目描述】
給定乙個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
using
namespace std;
intmain()
;//存放行最大
int min[6]
;//存放列最小
memset
(min,
1000000
,sizeof
(min));
int t=5;
//計算是否沒找到鞍點
for(
int i=
1;i<=
5;i++
)for
(int j=
1;j<=
5;j++
) cin>>a[i]
[j];
//輸入陣列
for(
int i=
1;i<=
5;i++
)for
(int j=
1;j<=
5;j++)if
(a[i]
[j]>max[i]
)//如果是行最大
max[i]
=a[i]
[j];
//賦值
for(
int i=
1;i<=
5;i++
)for
(int j=
1;j<=
5;j++)if
(a[j]
[i])//如果是列最小
min[i]
=a[j]
[i];
//賦值
for(
int i=
1;i<=
5;i++
)for
(int j=
1;j<=
5;j++)if
(a[i]
[j]==max[i]
&& a[i]
[j]==min[j]
)//如果同時是行最大和列最小
if(t==5)
//如果沒有
cout<<
"not found"
;//輸出"not found"
return0;
//養成好習慣
}
這道題的 i 和 j (行和列)比較容易弄混,要注意
關於我的**的 i 和 j 可能比較難懂
因為大家習慣不同嘛
實在不能理解借個思路也行
資訊學奧賽一本通C 語言 1122 計算鞍點
題目描述 給定乙個5 5的矩陣,每行只有乙個最大值,每列只有乙個最小值,尋找這個矩陣的鞍點。鞍點指的是矩陣中的乙個元素,它是所在行的最大值,並且是所在列的最小值。例如 在下面的例子中 第4行第1列的元素就是鞍點,值為8 11 3 5 6 9 12 4 7 8 10 10 5 6 9 11 8 6 4...
資訊學奧賽一本通(C 版)
資訊學奧賽一本通 c 版 總目錄 1.資訊學奧賽一本通 c 版 刷題 記錄 2.資訊學奧賽一本通 c 版 第一部分 c 語言 第一章 c 語言入門 3.資訊學奧賽一本通 c 版 第一部分 c 語言 第二章 順序結構程式設計 4.資訊學奧賽一本通 c 版 第一部分 c 語言 第三章 程式的控制結構 5...
資訊學奧賽一本通C 語言 1215 迷宮
題目描述 一天extense在森林裡探險的時候不小心走入了乙個迷宮,迷宮可以看成是由n n的格點組成,每個格點只有2種狀態,和 前者表示可以通行後者表示不能通行。同時當extense處在某個格點時,他只能移動到東南西北 或者說上下左右 四個方向之一的相鄰格點上,extense想要從點a走到點b,問在...