/ Randle /

记录详情

Accepted


  
# 状态 耗时 内存占用
#1 Accepted 4ms 384.0 KiB
#2 Accepted 3ms 384.0 KiB
#3 Accepted 3ms 384.0 KiB
#4 Accepted 4ms 256.0 KiB
#5 Accepted 4ms 256.0 KiB
#6 Accepted 3ms 368.0 KiB
#7 Accepted 20ms 368.0 KiB
#8 Accepted 20ms 352.0 KiB
#9 Accepted 18ms 356.0 KiB
#10 Accepted 18ms 384.0 KiB

代码

#include <stdio.h>
#include <iostream>
using namespace std;
inline int getDepth(int a) {
    int ret = 0;
    while(a) {
        a>>=1;
        ret++;
    }
    return ret-1;
}
int main() {
    int n;
    scanf("%d",&n);
    for(int i = 1; i<=n; i++) {
        int x,y;
        scanf("%d%d",&x,&y);
        int dep1 = getDepth(x),dep2 = getDepth(y);
        int dd1 = dep1,dd2 = dep2;
        if(dep1<dep2) {
            swap(x,y);
            swap(dep1,dep2);
        }
        while(dep1>dep2) {
            x>>=1;
            dep1--;
        }
        while(x!=y) {
            x>>=1;
            y>>=1;
        }
        cout<<dd1+dd2-2*getDepth(x)<<endl;
    }
    return 0;
}

信息

递交者
类型
递交
题目
三向城T1
题目数据
下载
语言
C++
递交时间
2017-11-07 14:35:51
评测时间
2017-11-07 14:35:51
评测机
分数
100
总耗时
103ms
峰值内存
384.0 KiB