문제에서 요구하는 규칙은 다음과 같다.
https://www.acmicpc.net/problem/24460
분할정복을 통해 4구역으로 재귀적으로 탐사하며 각 구역에서 두 번째로 작은 값을 비교해나가며 풀면 된다.
import sys
input = sys.stdin.readline
def solve():
n = int(input())
arr = [list(map(int, input().split())) for _ in range(n)]
def part(cur, r, c):
if cur == 1:
return arr[r][c]
cur = cur // 2
ret = [part(cur, r, c),
part(cur, r + cur, c),
part(cur, r, c + cur),
part(cur, r + cur, c + cur)]
return sorted(ret)[1]
return part(n, 0, 0)
print(solve())
많은 도움이 되었습니다, 감사합니다.