蓝桥杯1014场双周赛 B题数树数 题型:二叉树

54 阅读1分钟

2.数树数 - 蓝桥云课 (lanqiao.cn)

思想

这道题我本以为要先把这个二叉树构造出来,然后再去按照查询遍历二叉树,找到那个节点.

但是看评论区的代码很少.它是通过要查询的编号,直接通过公式计算出来左孩子,有孩子的节点编号,直接输出即可

#include<bits/stdc++.h>
using namespace std;
char s[50];
int n,q,a;
int main()
{
	cin>>n>>q;
	for(int i=0;i<q;i++)
	{
		cin>>s;
		a=1;
		
		for(int j=0;j<strlen(s);j++)
		{
			if(s[j]=='L') a=2*(a-1)+1;
			else  a=2*(a-1)+2;
		}
		cout<<a<<endl;
	}
	return  0;
}

image.png