计算鞍点(信息学奥赛一本通-T1122)
生活随笔
收集整理的這篇文章主要介紹了
计算鞍点(信息学奥赛一本通-T1122)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
【題目描述】
給定一個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> using namespace std; int main() {int a[5][5];int i,j;int max,point,flag=1,work=1;for(i=0;i<5;i++)//數(shù)據(jù)輸入for(j=0; j<5; j++)cin>>a[i][j];for(i=0;i<5;i++) {max=a[i][0];//每循環(huán)一行初始化最大值point=0;for(j=1;j<5;j++) {if(max<a[i][j])//尋找最大值{ max=a[i][j]; point=j;//記錄所在列}}flag=1;for(j=0;j<5;j++) {if(a[j][point]<max)//進行比較確定是否是所在列最小值flag=0;}if(flag)//如果滿足行最大,列最小,按要求輸出,結(jié)束程序{cout<<i+1<<" "<<point+1<<" "<<max<<endl;return 0;}}cout<<"not found"<<endl;//如果未滿足,輸出not foundreturn 0; }?
總結(jié)
以上是生活随笔為你收集整理的计算鞍点(信息学奥赛一本通-T1122)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求小数的某一位(信息学奥赛一本通-T10
- 下一篇: 信息学奥赛C++语言:最高分数的学生姓名