#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll n,i,j;
bool flag[30010][30010];
void dfs(ll x,ll y,ll mx,ll my,ll sum){
flag[x][y]=true;
if(x==i&&y==j){
cout<<sum;
return;
}
if(sum==n*n)return;
if(x+mx<=n&&y+my<=n&&x+mx>0&&y+my>0&&!flag[x+mx][y+my]){
dfs(x+mx,y+my,mx,my,sum+1);
}
else{
if(mx==0&&my==1)mx=1,my=0;
else if(mx==1&&my==0)mx=0,my=-1;
else if(mx==0&&my==-1)mx=-1,my=0;
else if(mx==-1&&my==0)mx=0,my=1;
dfs(x+mx,y+my,mx,my,sum+1);
}
}
signed main(){
cin>>n>>i>>j;
dfs(1,1,0,1,1);
return 0;
}
评测记录