zoukankan      html  css  js  c++  java
  • Comet OJ 夏季欢乐赛 完全k叉树

    完全k叉树

    https://cometoj.com/contest/59/problem/A?problem_id=2712

    题目描述

     

    欢迎报考JWJU!这里有丰富的社团活动,比如为梦想奋斗的ACM集训队,经常组织飞行棋的桌游协会,喜欢“唱,跳,rap,篮球”的篮球协会,更奇特的是——让人耳目一新的攀树协会。顾名思义,攀树协会会经常组织大家攀爬一些树,比如李超树,左偏树,带花树,智慧树等等。经过社团组织的一番培训后,同学们已经学会了如何在树上的相邻结点中来回爬动。

    不过上述的树太没意思了,RegenFallenRegenFallen同学向往更刺激的挑战,今天他要挑战的项目是一棵完全 kk 叉树。

    完全kk叉树的定义:一个 mm 层的完全 kk 叉树的前 m-1m1 层均为满 kk 叉树,且第 mm 层的结点全部聚集在树的左侧。

    因为RegenFallenRegenFallen是一个持久的男人,所以他希望一次能爬尽量长的路径(不走重复的点),所以他想让你告诉他,假如现在有一棵 nn 个点的完全 kk 叉树,每条边的长度均为 11,从树上的某一点到另一点的最大距离是多少。

     
     

    输入描述

     

    第一行给出一个 tt (t≤10^{4}t104) 代表测试用例的组数。

    接下来t行,每行包含两个正整数 k, nk,n (1 le k le 10^9, 2 le n le 10^91k109,2n109) 意义如题面所示。

    输出描述

     

    对于每个测试用例,输出一行一个正整数表示答案。

    样例输入 1 

    1
    2 3

    样例输出 1

    2

    提示

    样例给出了一个3个点的完全二叉树,即第一层有一个点,第二层有两个点。那么可以选择第二层的两个点来计算距离,其距离为2,即为树上的最大距离。

    模拟题,累加层数分类讨论可AC

    CODE;

    #include<cstdio>
    #define ll long long
    using namespace std;
    int main()
    {
        int t;
        scanf("%d",&t);
        while(t--)
        {
            ll k,n;
            scanf("%lld%lld",&k,&n);
            if(k==1)
            {
                printf("%lld
    ",n-1);
                continue;
            }
            ll temp=1,cnt=0;
            while(n)
            {
                n-=temp;
                cnt++;
                temp*=k;
                if(n<temp)
                    break;
            }
            if(n==0)
                printf("%lld
    ",cnt*2-2);
            else if(n<=temp/k)
                printf("%lld
    ",cnt*2-1);
            else
                printf("%lld
    ",cnt*2);
        }
        return 0;
    }
  • 相关阅读:
    9-10【H5混合实战】基于自定义WebView实现H5混合开发-3
    9-9【H5混合实战】基于定义WebView实现H5混合开发-2
    9-7【实战引用】球区入口实现
    9-5&9-6创建组件,使用组件
    9-4DAO首页大接口Dao层实现和调用-2
    9-4DAO首页大接口Dao层实现和调用-1
    9.3model层设计
    9.2熟悉接口好开发
    8-9 Flutter与Native通信-Android端实战
    8-8 Flutter与Native通信-Android端讲解
  • 原文地址:https://www.cnblogs.com/fusiwei/p/11262466.html
Copyright © 2011-2022 走看看