看到极其强烈的二叉树的形状,就得要往二叉树的方式去想,去靠
左子树2*x
右子树 2*x+1
这你学到的东西要用起来啊。
这题是我没想到的,当时我在天梯做的时候想出了一个自以为很好的做法,然后得了大部分的分数,当时感觉自己已经可以了。
时隔多年之后再次回来做这道题,没想到我这些年来都是在瞎做,根本没有入门。拿到一个问题,首先需要考虑的是考点啊,考虑的是你学到的东西拿来用啊,你看不到前路很正常,看不到一步一步的清晰的结果很正常,但是你看出了他考察的知识点,你就先按照这个知识点的固定写法去写出来,写出来看看,然后走下去就能做了。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
char t;
while(m--){
int node=0;
for(int i=0;i<n;i++){
cin>>t;
if(t=='y'){
node=node*2;
}
else{
node=node*2+1;
}
}
cout<<node+1<<endl;
}
}