zoukankan      html  css  js  c++  java
  • soj 2543 完全二叉树

    1000. 完全二叉树
     
     
    Total: 338 Accepted: 81
     
         
         
     
    Time Limit: 1sec    Memory Limit:256MB
    Description
    如下图,由正整数1,2,3,...组成一棵无限大的满二叉树。从某一个结点到根结点(编号是1的结点)都有
    一条唯一的路径,比如10到根节点的路径是(10,5,2,1),由4到根节点的路径是(4,2,1),从根结点1到根结点
    的路径上只包含一个结点1,因此路径是(1)。
    对于两个结点X和Y,假设它们到根结点的路径分别是(X1,X2,...,1)和(Y1,Y2,...,1)(这里显然有X=X1,Y=Y1),
    那么必然存在两个正整数i和j,使得从Xi和Yj开始,有Xi=Yj,Xi+1=Yj+1,...,现在的问题就是,给定X和Y,
    要求Xi(也就是Yj)。
    
                    1
            2                 3
        4       5        6        7
      8   9  10   11  12   13  14   15
    ... ... ...  ...
     
    Input

    输入的第一行是一个整数T,表示测试用例个数。以下T行,每行对应一个测试用例。
    每个测试用例包括两个整数X和Y,这两个整数都不大于1000。
     

    Output

    对每个测试用例,单独一行输出一个整数Xi。
     

    Sample Input
     Copy sample input to clipboard
    1
    10 4
    7 13
    
    Sample Output
    2
    3
    #include<iostream>
    using namespace std;
    
    int main()
    {
    	int n;
    	cin>>n;
    
    	while(n--)
    	{
    		int x, y;
    		cin>>x>>y;
    
    		while(x!=y)
    		{
    			if(x>y)
    				x/=2;
    			else y/=2;
    		}
    
    		cout<<x<<endl;
    	}
    
    	return 0;
    }
    

      

  • 相关阅读:
    主成分分析(PCA)原理及推导
    SVD在推荐系统中的应用详解以及算法推导
    奇异值分解(SVD)原理详解及推导
    jdk1.8源码学习笔记
    #WeakHashMap
    #TreeSet
    如何在Centos7安装swoole的PHP扩展
    Photoshop 使用过程中遇到的问题
    Sublime 配置 Markdown,并实时预览
    移动端响应式布局,rem动态更新
  • 原文地址:https://www.cnblogs.com/KennyRom/p/6208972.html
Copyright © 2011-2022 走看看