您的位置:首页 > 其它

【HUSTOJ】1092: 马鞍数

2016-05-09 21:16 766 查看


1092: 马鞍数

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 58  Solved: 10

原题链接


Description

求一个n×m数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下: n=5 m=5 

5 6 7 8 9 

4 5 6 7 8 

3 4 5 2 1 

2 3 4 9 0 

1 2 5 4 8 

则1行1列上的数就是马鞍数。


Input

共n+1行,第一行: n m (n,m<10) 第2到n+1行:每行m个整数(每个数都<10)


Output

输出若干行:如果存在马鞍数,则输出所有马鞍数,每行一个,为行和列以及马鞍数。 如果不存在马鞍数,则输出'not exit'。


Sample Input

5 5
5 6 7 8 9
4 5 6 7 8
3 4 5 2 1
2 3 4 9 0
1 2 5 4 8


Sample Output

1 1 5


HINT


Source

#include<iostream>
using namespace std;

main()
{
int a[100][100];
int n,m,s=0,t=0;

cin>>n>>m;

for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)    //输入
{
cin>>a[i][j];
}
}

for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
s=0;
for(int k=0;k<m;k++)
{
if(a[i][j]<=a[i][k])      //判断行最小
{s++;}
else
{break;}
}

for(int l=0;l<n;l++)
{
if(a[i][j]>=a[l][j])    //判断列最大
{s++;}
else
{break;}
}

if(s==m+n)
{
cout<<i+1<<" "<<j+1<<" "<<a[i][j]<<endl;   //输出
t++;
}

}
}

if(t==0)
{cout<<"not exit"<<endl;}     //若没有满足题意的马鞍数,输出not exit

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: