社区讨论
0分求调
P1228地毯填补问题参与者 1已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mkrr8r9x
- 此快照首次捕获于
- 2026/01/24 11:33 4 周前
- 此快照最后确认于
- 2026/01/24 18:40 4 周前
CPP
#include<iostream>
using namespace std;
long long kr,x,y;
void fenz(long long wx,long long wy,long long a,long long b,long long k);
int main(){
cin >> kr >> x >> y;
fenz(1,1,x,y,kr);cin >> x;
return 0;
}
void fenz(long long wx,long long wy,long long a,long long b,long long k){
if(k==0) return;
long long lsa = 2<<(k-2);
if(k == 1) lsa = 1;
long long midx=wx+lsa;long long midy=wy+lsa;
if(a<midx&&b<midy) {
printf("%d %d %d\n",midx,midy,1);
fenz(wx,wy,a,b,k-1);
fenz(wx,midy,midx-1,midy,k-1);
fenz(midx,wy,midx,midy-1,k-1);
fenz(midx,midy,midx,midy,k-1);
}
else if(a < midx&&midy>b) {
printf("%d %d %d\n",midx,midy-1,2);
fenz(wx,wy,midx-1,midy-1,k-1);
fenz(wx,midy,a,b,k-1);
fenz(midx,wy,midx,midy-1,k-1);
fenz(midx,midy,midx,midy,k-1);
}
else if(midx<=a&&midy>b) {
printf("%d %d %d\n",midx-1,midy,3);
fenz(wx,wy,midx-1,midy-1,k-1);
fenz(wx,midy,midx-1,midy,k-1);
fenz(midx,wy,a,b,k-1);
fenz(midx,midy,midx,midy,k-1);
}
else if(midx <= a&midy<=b){
printf("%d %d %d\n",midx-1,midy-1,4);
fenz(wx,wy,midx-1,midy-1,k-1);
fenz(wx,midy,midx-1,midy,k-1);
fenz(midx,wy,midx,midy-1,k-1);
fenz(midx,midy,a,b,k-1);
}
}
0分求调,会关注!
回复
共 1 条回复,欢迎继续交流。
正在加载回复...