写这一道题写了极其之久,毕竟还是一个新手菜鸡嘛!无奈啊!!!现在开始觉的有点难了!!!努力吧!!!
#include<bits/stdc++.h>
using namespace std;
int a[
1000][
1000],b[
1000],c[
10001],n,m=
1,num,flag=
0,one,two,k,s,d[
10001],e[
10001],dgy,xth;
int main()
{
for(
int ljk=
1;ljk<=
1000;ljk++
)
b[ljk]=
9999999;
for(
int i=
1;i<=
5;i++
)
{
for(
int j=
1;j<=
5;j++
)
{
cin>>
a[i][j];
}
}
for(k=
1;k<=
5;k++
)
for(s=
1;s<=
5;s++
)
if (a[k][s]>
d[k])
{
d[k]=
a[k][s];
e[k]=
s;
}
for(m=
1;m<=
5;m++
)
for(num=
1;num<=
5;num++
)
if (a[m][num]<
b[num])
{
b[num]=
a[m][num];
c[num]=
m;
}
for(
int emm=
1;emm<=
5;emm++
)
{
for(
int jun=
1;jun<=
5;jun++
)
if(e[jun]==emm&&c[emm]==
jun)
{
dgy=
c[emm];
xth=
e[jun];
cout<<c[emm]<<
" "<<e[jun]<<
" "<<
a[dgy][xth];
flag=
1;
}
}
if(flag==
0)
cout<<
"not found";
return 0;
}
题目描述
给定一个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
转载于:https://www.cnblogs.com/5t2y0/p/9264184.html
相关资源:找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有鞍点)。Java