UVA 122 Trees on the level

Posted fzfn5049

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA 122 Trees on the level相关的知识,希望对你有一定的参考价值。

这个题目与其说是树,不如说是一个找规律的题目。

详情直接看注释和代码。

#include <stdio.h>
#include <string.h>

//这个题目经过转化,可以变成这样的思路,就是我们的这个球是第几个落到这个节点上面来的
//从而,我们可以更加自然地把小球的编号和第几个落的自然而然地建立出一个关系

int main()
{
	int D,I;
	int T;
	scanf("%d", &T);
	T = T + 1;
	while(T--)
	{
		scanf("%d", &D);
		if(D == -1)
			break;
		else
			scanf("%d", &I);
		int i;
		int k = 1;
		for(i = 0; i < D-1; i++)
		{
			if(I % 2 == 1)
			{
				k = 2 * k;
				I = (I + 1) / 2;
			}

			else if(I % 2 == 0)
			{
				k = k * 2 + 1;
				I = I / 2;
			}
		}
		printf("%d\n", k);
	}

}

  

以上是关于UVA 122 Trees on the level的主要内容,如果未能解决你的问题,请参考以下文章

UVA-122(Trees on the level)

Uva 122 Trees on the level

UVA 122 -- Trees on the level (二叉树 BFS)

UVA 122 Trees on the level 二叉树 广搜

UVA 122 Trees on the level

UVa122-Trees on the level