2022 - 公交路线
喵星人的世界是我们这些低智商生物无法理解的,比如他们的公交车站点连接起来刚好构成一棵完全二叉树(如图,它的高度h为2,它的第i层有2^i个节点),我们知道,公交路线是不走回头路的,也就是说不会经过同一个站点两次,(起点和终点在同一地点也算一条路线),现在,他们想让每个站点都有公交车经过,问最少需要安排多少辆公交车?

<span style="font-family:宋体;font-size:16pt;">h=2</span>
<span style="font-size:16.0000pt;font-family:'宋体';"></span>
<span style="font-size:12.0000pt;font-family:'宋体';"></span>
Input
输入一个T,表示测试样例数
对于每组测试数据,输入一个h,表示树的高度(0=<h<=60)
Output
对于每组测试数据输出一行,需要多少辆车?
Examples
Input
5 0 1 2 3 4
Output
1 1 3 5 11
Hint
由于输出数据可能很大,要用long long 输出
请不要用__int64
Solution C++
#include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> using namespace std; long long a[100]; void dabiao() { a[0]=1; a[1]=1; for(int i=2;i<=60;i++) { a[i]=a[i-1]+a[i-2]*2; } } int main() { int t; cin>>t; int n; dabiao(); while(t--) { cin>>n; cout<<a[n]<<endl; } return 0; }
Hint
由于输出数据可能很大,要用long long 输出
请不要用__int64