

谁来帮帮我?这是一个鞍点问题,询问豆包多年,一直显示是正确的。
#include <stdio.h>
int main()
{
int m, n;
scanf("%d %d", &m, &n);
int s[m][n];
int f[m][2];
int t[n][2];
int i, j, k, a, b, c, p = 0, last = 0;
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &s[i][j]);
}
}
for (i = 0; i < m; i++)
{
p = s[i][0];
f[i][0] = i;
f[i][1] = 0;
for (j = 1; j < n; j++)
{
if (s[i][j] > p)
{
p = s[i][j];
f[i][0] = i;
f[i][1] = j;
}
}
}
for (j = 0; j < n; j++)
{
p = s[0][j];
t[j][0] = 0;
t[j][1] = j;
//要先赋值一下,不然会跳过第一行,即使内循环遍历第一行也只会相等不计入其中
for (i = 1; i < m; i++)
{
if (s[i][j] < p)
{
p = s[i][j];
t[j][0] = i;
t[j][1] = j;
}
}
}
for (i = 0; i < m; i++)
{
int l = f[i][1];
if (f[i][1] == t[l][1] && f[i][0] == t[l][0])
{
a = f[i][0];
b = f[i][1];
c = s[a][b];
printf("Array[%d][%d]=%d", a, b, c);
last = 1;
}
}
if (last == 0)
{
printf("None");
}
return 0;
}