无输出
查看原帖
无输出
329937
Z_X_T楼主2021/10/6 21:58
#include<bits/stdc++.h>
using namespace std;	
long long n,ansx,ansy,k[3001][3001],p=0,o=0,nk;
int main()
{
	cin>>n>>ansx>>ansy;
	int x=1,y=1;
	k[x][y]=1;
	o=n;
	while(k[ansx][ansy]==0)
	{
		for(int i=2;i<=n;i++) //行 
		{
			if(p==0) y++,k[x][y]=k[x][y-1]+1;
			if(p==1) y--,k[x][y]=k[x][y+1]+1;
		}
		if(n==o) n--;//特判 
		else p++;
		for(int i=2;i<=n;i++)//列 
		{
			if(p==0) x++,k[x][y]=k[x-1][y]+1;
			if(p==1) x--,k[x][y]=k[x+1][y]+1;
		}
		if(p==2) p=0,n--;
		p++;
	}
//	for(int i=1;i<=o;i++)
//	{
//		for(int j=1;j<=o;j++)
//		{
//			cout<<k[i][j]<<" ";
//		} 
//		cout<<endl;
//	}
	cout<<k[ansx][ansy];
}
2021/10/6 21:58
加载中...