杭电5 :Cute Tree

题面:给一段伪代码,进行模拟,求生成的节点。
解析:问题其实和节点信息没什么关系,只需要按找题目要求,递归划分区间长度,同时记录划分次数即可。
或者直接用伪代码方法建树。
代码

#include<bits/stdc++.h>
using namespace std;
int t,n;
int a;

int bt(int n)
{
    int num=0;
    if(n==1)  num=num ;    

    else if(n==2)      num+=2;

    else{
        num+=3;
        int x=n/3+(n%3!=0),y=(n-x)/2,z=n-x-((n-x)/2);

     num+=bt(x)+bt(y)+bt(z);


    }
        return num;
}
int main(){
    scanf("%d",&t);
    while(t--){
        scanf("%d",&n);
        for(int i=0;i<n;i++) scanf("%d",&a);

        printf("%d\n",bt(n)+1);

    }
} 
全部评论

相关推荐

卓望数码 Java开发岗 总包23+1~2福利补贴,公积金12%
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务