#include <bits/stdc++.h>
using namespace std;
void f(int dx,int dy,int k,int x,int y){
if(k==1){
if(x==1){
if(y==1){
printf("%d %d %d\n",dx+2,dy+2,1);
}else{
printf("%d %d %d\n",dx+2,dy+1,2);
}
}else{
if(y==1){
printf("%d %d %d\n",dx+1,dy+2,3);
}else{
printf("%d %d %d\n",dx+1,dy+1,4);
}
}
return;
}
int a=pow(2,k-1);
if(x>a){
if(y>a){
printf("%d %d %d\n",dx+a,dy+a,4);
f(dx+a,dy+a,k-1,x-a,y-a);
f(dx+a,dy,k-1,1,a);
}else{
printf("%d %d %d\n",dx+a,dy+a+1,3);
f(dx+a,dy,k-1,x-a,y);
f(dx+a,dy+a,k-1,1,1);
}
f(dx,dy,k-1,a,a);
f(dx,dy+a,k-1,a,1);
}else{
if(y<a){
printf("%d %d %d\n",dx+a+1,dy+a+1,1);
f(dx,dy,k-1,x,y);
f(dx,dy+a,k-1,a,1);
}else{
printf("%d %d %d\n",dx+a+1,dy+a,2);
f(dx,dy+a,k-1,x,y-a);
f(dx,dy,k-1,a,a);
}
f(dx+a,dy,k-1,1,a);
f(dx+a,dy+a,k-1,1,1);
}
}
int main(){
int k,x,y;
cin>>k>>x>>y;
f(0,0,k,x,y);
return 0;
}
提交记录