这代码报超时,50分,有没有大佬知道为什么
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[300][300];
int n,t=0,x=0,y=0,i,j;
cin>>n>>i>>j;
t=a[++x][++y]=1;
while (t<n*n)
{
while (a[x][y+1]==0&&y+1<=n) a[x][++y]=++t;
while (a[x+1][y]==0&&x+1<=n) a[++x][y]=++t;
while (a[x][y-1]==0&&y-1>=1) a[x][--y]=++t;
while (a[x-1][y]==0&&x-1>=1) a[--x][y]=++t;
}
cout<<a[i][j];
return 0;
}