#include <stdio.h>
int main()
{
int a[100][100];
int b, c, n, i, j, max, d;
scanf("%d", &n);
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &a[i][j]);
}
}
for (i = 0; i < n; i++)
{
d = 1;
max = a[i][0];
b = i;
c = 0;
for (j = 0; j < n; j++)
{
if (a[i][j] > max)
{
max = a[i][j];
b = i;
c = j;
}
}
for (j = 0; j < n; j++)
{
if (max > a[j][c])
{
d = 0;
break;
}
}
if (d == 1) {
printf("%d %d", b, c);
break;
}
else if (d == 0 && i == n - 1)
{
printf("NO");
}
}
system("pause");
return 0;
}
给定一个n*n矩阵A。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。