这个求鞍点的C语言代码有什么问题,提交总是过不了。(×代表测试数据错误,+代表测试数据正确)

图片说明图片说明图片说明

#include<string.h>
int main()
{
  int m,n;
  scanf("%d%d",&m,&n);
  int a[m][n];
  int i,j,k,max,min,p=0,b=0,flag=0;
  for(i=0;i<m;i++)
  {
    for(j=0;j<n;j++)
    scanf("%d",&a[i][j]);
  }

  for(i=0;i<m;i++)
  { 
     max=a[i][0];
    for(j=0;j<n;j++)
    {

        if(max<a[i][j])

        {
                max=a[i][j];
            p=j;}
        }
      min=a[0][p];
      for(k=0;k<m;k++)
      {
        if(min>a[k][p])
      {
            min=a[k][p];
        b=k;}
      }
      if(min==max)
      {
      printf("%d %d %d\n",b,p,a[b][p]);
      flag=1;
      break;}
  } 
  if(flag==0)
  printf("It does not exist!");
return 0;}![图片说明](https://img-ask.csdn.net/upload/201812/10/1544440796_234701.png)