题190.2022寒假天梯赛训练-7-6 前世档案 (20 分)
一、题目
二、题解
观察并分析题目所给的二叉树示例可知,我们设向左(是)为0,向右(否)为1,则按树的路径走到底时对应的问题编号即为组成的二进制数转十进制数。按这个思路实现代码即可。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
/*
//拓:快速幂模板
ll fastPower(ll base,ll power)
{
ll res=1;
while(power>0)
{
if(power&1)
{
res=res*base;
}
power>>=1;
base=base*base;
}
return res;
}
*/
int main()
{
int N,M;
cin>>N>>M;
for(int i=0;i<M;i++)
{
ll ans=0;
for(int j=N-1;j>=0;j--)
{
char key;
cin>>key;
if(key=='n')
{
ans+=pow(2,j)//fastPower(2,j);
}
}
printf("%lld\n",ans+1);
}
}