본문 바로가기
카테고리 없음

[백준] Z (201018)

by 후이 (hui) 2020. 10. 18.
728x90
반응형

1. 문제 설명

 

www.acmicpc.net/problem/1074

 

1074번: Z

한수는 2차원 배열 (항상 2^N * 2^N 크기이다)을 Z모양으로 탐색하려고 한다. 예를 들어, 2*2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, 2차원 ��

www.acmicpc.net

 

 

 

 

2. 풀이 코드 

 

n, r, c = map(int, input().split())
answer = 0

while n >= 1:
    temp = 2 ** (n - 1)

    if n == 1:
        if r is 0 and c is 1:  # 2사분면
            answer += 1
        elif r is 1 and c is 0:  # 3사분면
            answer += 2
        elif r is 1 and c is 1:  # 4사분면
            answer += 3
        break

    if r < temp <= c:  # 2사분면
        answer += temp ** 2
        c -= temp
    elif c < temp <= r:  # 3사분면
        answer += (temp ** 2) * 2
        r -= temp
    elif temp <= r and temp <= c:  # 4사분면
        answer += (temp ** 2) * 3
        r -= temp
        c -= temp

    n -= 1


print(answer)
728x90
반응형

댓글