[二叉树+模拟]uva-679-Dropping Balls

https://cn.vjudge.net/problem/UVA-679#author=0

二叉树第一题 上图上图 模拟来理解树的结构

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;
const int maxn = 20;
int s[maxn << maxn];
int main() {
int D, I;//D深度 I小球个数
while (scanf(“%d%d”, &D, &I) == 2) {
memset(s, 0, sizeof(s));
int k, n = (1 << D) - 1;//n是最大编号
for (int i = 0; i < I; i++) {
k = 1;
for (;;) {
s[k] = 1 - s[k];//取反
k = s[k] ? 2 * k : 2 * k + 1;//相同状态则往左走 否则往右走
if (k > n) break;
}
}
printf(“%d\n”, k / 2);
}
return 0;
}


[二叉树+模拟]uva-679-Dropping Balls
https://47.97.0.163/2019/07/23/二叉树模拟uva-679-dropping-balls/
作者
John Doe
发布于
2019年7月23日
许可协议