鞍点计算

题目链接:https://acm.sdut.edu.cn/onlinejudge3/contests/4006/problems/C

::一个二维数组并不一定存在鞍点

::保证不会出现两个鞍点的情况


 

放AC代码

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n,m,x,y,f,flag;
 4 int a[15][15];
 5 int row[15],column[15];//存储每行最大和每列最小
 6 
 7 int main()
 8 {
 9     cin>>m>>n;
10     for(int i=0; i<m; i++)
11         for(int j=0; j<n; j++)
12             cin>>a[i][j];
13     for(int i=0; i<m; i++)
14     {//横向找最大数并存储
15         int rmax=0;
16         for(int j=0; j<n; j++)
17         {
18             if(a[i][j]>rmax)
19             {
20                 rmax=a[i][j];
21                 row[i]=rmax;
22             }
23         }
24     }
25     for(int j=0; j<n; j++)
26     {//纵向找最小数并存储
27         int cmin=100000;
28         for(int i=0; i<m; i++)
29         {
30             if(a[i][j]<cmin)
31             {
32                 cmin=a[i][j];
33                 column[j]=cmin;
34             }
35         }
36     }
37     for(int i=0; i<m; i++)
38         for(int j=0; j<n; j++)
39             if(row[i]==column[j])
40             {
41                 x=i; y=j; f=row[i];
42                 flag++;
43             }
44     if(flag==0)
45         cout<<"None";
46     else
47         printf("Array[%d][%d]=%d",x,y,f);
48     return 0;
49 }

 

posted @ 2022-07-17 18:03  爱吃虾滑  阅读(148)  评论(0)    收藏  举报