EgLund @ 2020-08-04 23:41:52
code:
#include <cstdio>
#include <iostream>
using namespace std;
int n0;int px,py;
void s(int n,int zx,int zy,int rx,int ry)
{
if(n==1)return;
n>>=1;
if(zx-rx<n)
if(zy-ry<n)
{
cout<<rx+n<<' '<<ry+n<<" 1\n";
s(n,zx,zy,rx,ry);
s(n,rx+n-1,ry+n,rx,ry+n);
s(n,rx+n,ry+n-1,rx+n,ry);
s(n,rx+n,ry+n,rx+n,ry+n);
}
else
{
cout<<rx+n<<' '<<ry+n-1<<" 2\n";
s(n,rx+n-1,ry+n-1,rx,ry);
s(n,zx,zy,rx,ry+n);
s(n,rx+n,ry+n-1,rx+n,ry);
s(n,rx+n,ry+n,rx+n,ry+n);
}
else
if(zy-ry<n)
{
cout<<rx+n-1<<' '<<ry+n<<" 3\n";
s(n,rx+n-1,ry+n-1,rx,ry);
s(n,rx+n-1,ry+n,rx,ry+n);
s(n,zx,zy,rx+n,ry);
s(n,rx+n,ry+n,rx+n,ry+n);
}
else
{
cout<<rx+n-1<<' '<<ry+n-1<<" 4\n";
s(n,rx+n-1,ry+n-1,rx,ry);
s(n,rx+n-1,ry+n,rx,ry+n);
s(n,rx+n,ry+n-1,rx+n,ry);
s(n,zx,zy,rx+n,ry+n);
}
}
int main()
{
cin>>n0>>px>>py;
s(px,py ,1,1,1<<n0);
}
by EgLund @ 2020-08-06 20:48:01
才发现我参数传反了。。。 请大家不要学。。。