NYoj 63 小猴子的下落[满二叉树简单应用]
2013-07-22 16:49
127 查看
/* NYOJ 63 小猴子的下落. 由此题可知:对于完全二叉树和满二叉树完全可以用顺序结构实现. 读严慧敏的数据结构(C语言)可知: 顺序存储结构只适用于完全二叉树,但是对于某些度不是太大的情况下也是可以的. 该题是一个满二叉树的简单应用.但是也是有更好的办法的. */ //AC by myself. #include<stdio.h> #include<string.h> #include<algorithm> #define MAX 20 using namespace std; int tree[1<<20]; int main() { int D,I; while(scanf("%d%d",&D,&I)&&(D||I)) { memset(tree,0,sizeof(tree)); int p; for(int i=1;i<=I;i++) { p=1; for(int j=1;j<D;j++) { if(tree[p]==0) {tree[p]=1;p=p*2;} else {tree[p]=0;p=p*2+1;} } } printf("%d\n",p); } } //AC again //根据小猴子是第几个进入该节点就可以判断其的走向 #include<stdio.h> #include<string.h> using namespace std; using namespace std; int main() { int D,I; while(scanf("%d%d",&D,&I)&&(D||I)) { int k=1; for(int i=1;i<D;i++)//只需要知道该小猴子是第几个进入该节点的就可以知道往左还是往右走. { if(I%2) k=k*2,I=(I+1)/2; else k=(k*2)+1,I=I/2; } printf("%d\n",k); } }
相关文章推荐
- NYOJ-63 小猴子下落【满二叉树】
- NYOJ 63 小猴子下落 二叉树之满二叉树
- NYOJ-63 小猴子下落【满二叉树】
- NYOJ 题目63 小猴子下落(满二叉树的建立与遍历)
- nyoj63 小猴子下落
- nyoj 63 小猴子下落【二叉树】
- NYOJ 63 小猴子下落
- NYOJ 63 小猴子下落
- NYOJ63——小猴子下落
- nyoj 63 小猴子下落
- NYOJ 63 小猴子下落 (二叉树优化)
- 二叉树 nyoj-63 小猴子下落
- nyoj--63 小猴子下落
- NYOJ63小猴子下落
- NYOJ 63 小猴子下落
- nyoj 63 小猴子下落
- nyoj_63 小猴子下落
- NYOj 63 小猴子下落
- NYOJ63小猴子的下落
- nyoj 南阳理工63小猴子下落