목차

쿼드트리

ps
링크acmicpc.net/…
출처BOJ
문제 번호1992
문제명쿼드트리
레벨실버 1
분류

기초

시간복잡도O(n^2)
인풋사이즈n<=64
사용한 언어Python
제출기록29200KB / 76ms
최고기록52ms
해결날짜2021/07/27

풀이

코드

"""Solution code for "BOJ 1992. 쿼드트리".

- Problem link: https://www.acmicpc.net/problem/1992
- Solution link: http://www.teferi.net/ps/problems/boj/1992
"""


def solve(data, r, c, size):
    if size == 1:
        return data[r][c]
    else:
        size //= 2
        quad = ''.join([solve(data, r, c, size),
                        solve(data, r, c + size, size),
                        solve(data, r + size, c, size),
                        solve(data, r + size, c + size, size)])
        if quad == '1111':
            return '1'
        elif quad == '0000':
            return '0'
        else:
            return f'({quad})'


def main():
    N = int(input())
    data = [input() for _ in range(N)]

    print(solve(data, 0, 0, N))


if __name__ == '__main__':
    main()