14分、点2AC求助

P1228 地毯填补问题

[可以看一下我的贴子](https://www.luogu.com.cn/discuss/601922)
by CityFish @ 2023-04-29 19:10:11


希望能帮到你
by CityFish @ 2023-04-29 19:10:49


```cpp #include<bits/stdc++.h> using namespace std; #define print(x,y,w) printf("%d %d %d\n",t+x-1,l+y-1,w) const int N=1e3; int a[N][N],vis[N][N]; void run(int l,int r,int t,int b,int x,int y){ int w2=(r-l+1)>>1; if(w2==1){ if(x<=w2) if(y<=w2) print(2,2,1); else print(2,1,2); else if(y<=w2) print(1,2,3); else print(1,1,4); return ; } if(x<=w2){ if(y<=w2){ print(w2+1,w2+1,1); run(l,r-w2,t,b-w2,x,y); run(l+w2,r,t,b-w2,w2,1); run(l,r-w2,t+w2,b,1,w2); run(l+w2,r,t+w2,b,1,1); } else{ print(w2+1,w2,2); run(l,r-w2,t,b-w2,w2,w2); run(l+w2,r,t,b-w2,x,y-w2); run(l,r-w2,t+w2,b,1,w2); run(l+w2,r,t+w2,b,1,1); } } else{ if(y<=w2){ print(w2,w2+1,3); run(l,r-w2,t,b-w2,w2,w2); run(l+w2,r,t,b-w2,w2,1); run(l,r-w2,t+w2,b,x-w2,y); run(l+w2,r,t+w2,b,1,1); } else{ print(w2,w2,4); run(l,r-w2,t,b-w2,w2,w2); run(l+w2,r,t,b-w2,w2,1); run(l,r-w2,t+w2,b,1,w2); run(l+w2,r,t+w2,b,x-w2,y-w2); } } return ; } int main(){ int x,y,k; cin>>k>>x>>y; run(1,1<<k,1,1<<k,x,y); return 0; }
by lijuncheng_1207 @ 2023-07-17 10:14:20


|