总时间限制: 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
1 #include<iostream>
2 #include<cstdio>
3 #include<cstring>
4 using namespace std;
5 #define max_ 0x7fff;
6 int a[1001][1001];
7 int maxn[1001];
8 int minn[1001];
9 int main()
10 {
11 for(int i=1;i<=1001;i++)
12 minn[i]=100001;
13 for(int i=1;i<=5;i++)
14 {
15 for(int j=1;j<=5;j++)
16 {
17 cin>>a[i][j];
18 if(a[i][j]>maxn[i])
19 {
20 maxn[i]=a[i][j];
21 }
22 if(a[i][j]<minn[j])
23 {
24 minn[j]=a[i][j];
25 }
26 }
27 }
28 for(int i=1;i<=5;i++)
29 {
30 for(int j=1;j<=5;j++)
31 {
32 if((a[i][j]==maxn[i])&&(a[i][j]==minn[j]))
33 {
34 cout<<i<<" "<<j<<" "<<a[i][j];
35 return 0;
36 }
37 }
38 }
39 cout<<"not found";
40 return 0;
41 }