DAY 1の二维数组

来源:互联网 发布:网易广州网签数据 编辑:程序博客网 时间:2024/05/22 11:58

这道题我很无语地编了好长时间。。。


openjudge 1.8.5:

二维数组の计算鞍点:给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。
鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。
例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。

题解:

#include<bits/stdc++.h>
using namespace std;
int main()
{
 int a[10][10],max=0,min,c,d;
 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++)
  {
   max=0;
   for (int j=1;j<=5;j++)
    if (a[i][j]>max) 
    {
max=a[i][j];
min=a[i][j];
c=i;
d=j;
}//找到每一行中的最大值并做标记(最大值、行、列) 
   for (int j=1;j<=5;j++)
    if (a[j][d]<min) min=a[j][d];//找出这个最大值的这一列中的最小值并做标记 (最小值) 
   if (min==max)
   {
    cout<<c<<' '<<d<<' '<<max;
    return 0;
   }//判断这一行中的这个最大值是否为这个最大值这一列中的最小值 
   else continue;
  }
 cout<<"not found"; 
 return 0;
}

原创粉丝点击