信息学奥赛一本通(1122:计算鞍点)
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通(1122:计算鞍点)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1122:計算鞍點
時間限制: 1000 ms ??? ??? 內(nèi)存限制: 65536 KB
提交數(shù): 25538 ??? 通過數(shù): 14389
【題目描述】
給定一個5×55×5的矩陣,每行只有一個最大值,每列只有一個最小值,尋找這個矩陣的鞍點。鞍點指的是矩陣中的一個元素,它是所在行的最大值,并且是所在列的最小值。
例如:在下面的例子中(第44行第11列的元素就是鞍點,值為88?)。
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【輸入】
輸入包含一個55行55列的矩陣。
【輸出】
如果存在鞍點,輸出鞍點所在的行、列及其值,如果不存在,輸出"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<stdio.h> int main() {int a[5][5],s[5][5]={0};int found=0;int i,j;int max_n,max_j,min_n,min_i;for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);for(i=0;i<5;i++){max_n=-1;max_j=-1;for(j=0;j<5;j++){if(a[i][j]>max_n){max_n=a[i][j];max_j=j;}}s[i][max_j] += 1;}for(j=0;j<5;j++){min_n=1000000;min_i=-1;for(i=0;i<5;i++){if(a[i][j]<min_n){min_n=a[i][j];min_i=i;}}s[min_i][j] += 1;}for(i=0;i<5;i++){for(j=0;j<5;j++){if(s[i][j]==2){found=1;printf("%d %d %d\n",i+1,j+1,a[i][j]);}}}if(!found)printf("not found\n");return 0; }http://ybt.ssoier.cn:8088/problem_show.php?pid=1122
總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通(1122:计算鞍点)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 1139:整理药名 |
- 下一篇: 信息学奥赛一本通(1126:矩阵转置)