题解 | #树上最短路#

树上最短路

http://www.nowcoder.com/questionTerminal/3ead0c7164344b7a873a5916bf05de33

不断除2找一样的根就行了

#include <bits/stdc++.h>
using namespace std;

int T, n, m, k, l, r;

int main() {
    scanf("%d", &T);
    while (T--) {
        scanf("%d%d", &n, &m);
        int cnt = 0;
        while (n != m) {
            if (n > m) {
                n /= 2;
                cnt++;
            }
            else if (m > n){
                m /= 2;
                cnt++;
            }
        }

        printf("%d\n", cnt);
    }

    return 0;
}
全部评论

相关推荐

05-22 09:23
门头沟学院 Java
点赞 评论 收藏
分享
仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
07-17 12:14
门头沟学院 Java
点赞 评论 收藏
分享
评论
4
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务