社区讨论
求助
P1228地毯填补问题参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lodb9lpi
- 此快照首次捕获于
- 2023/10/31 03:46 2 年前
- 此快照最后确认于
- 2023/11/05 14:10 2 年前
蒟蒻爆零求助/dk
CPP#include<bits/stdc++.h>
using namespace std;
#define MAX 1025
int k, x, y;
int mp[MAX][MAX];
int d1[5], d2[5];
bool vis[MAX][MAX];
void give(int xx, int yy){
d1[1] = xx; d2[1] = yy;
d1[2] = xx + 1; d2[2] = yy;
d1[3] = xx; d2[3] = yy - 1;
d1[4] = xx + 1; d2[4] = yy - 1;
}
void dg(int x1, int y1, int x2, int y2, int len){
int xx = (x1 + x2)/2, yy = (y1 + y2)/2;
give(xx, yy);
if(len == 0){
return;
}
len >>= 1;
dg(x1, y1, xx, yy, len); dg(xx, y1, x2, yy, len); dg(x1, yy, xx, y2, len); dg(xx, yy, x2, y2, len);
for(int i = 1; i <= 4; i++){
if(mp[d1[i]][d2[i]] != 0 ){
for(int j = 1; j <= 4; j++){
if(j == i) continue;
mp[d1[j]][d2[j]] = i;
}
printf("%d %d %d\n", d1[5 - i], d2[5 - i], i);
break;
}
}
return;
}
int main(){
scanf("%d%d%d",&k, &x, &y);
mp[x][y] = 1;
dg(0, 0, (1 << k), (1 << k), (1 << k));
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...