题解 | #树上最短路#

树上最短路

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;
}
全部评论

相关推荐

斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务