본문 바로가기

BOJ 알고리즘 (T아카데미)

13116번: 30번 (그래프, 부모배열)

www.acmicpc.net/problem/13116

 

13116번: 30번

첫 번째 줄에 테스트 케이스의 수 T (1 ≤ T ≤ 50 000)가 주어진다. 이후 T개의 테스트 케이스가 주어진다. 각 테스트 케이스는 한 줄로 구성되어 있으며, 각 줄에는 두 개의 정수 A와 B (1 ≤ A, B ≤ 1

www.acmicpc.net

# 30번
# https://www.acmicpc.net/problem/13116 (그래프, 부모배열)
# PyPy3


def common_parent(a, b):
    parents_of_a = []
    while a != 1:
        parents_of_a.append(a)
        a = a // 2

    parents_of_b = []
    while b != 1:
        parents_of_b.append(b)
        b = b // 2

    for i in parents_of_a:
        if i in parents_of_b:
            return i

    return 1


# [KP]: 트리를 부모배열로 표현하는 것과 동일하게 생각한다
n = int(input())
for _ in range(n):
    a, b = map(int, input().split())
    print(common_parent(a, b) * 10)