본문 바로가기

알고리즘 문제풀이

The Bale Tower [백준 6221]

https://www.acmicpc.net/problem/6221

 

 

n = int(input())
bales = []

for _ in range(n):
    width, breadth = map(int, input().split())
    bales.append((width, breadth))
bales.sort(key=lambda x: (x[0], x[1]))
dp = [1] * n 
for i in range(n):
    for j in range(i):
        if bales[j][0] < bales[i][0] and bales[j][1] < bales[i][1]:
            dp[i] = max(dp[i], dp[j] + 1)
print(max(dp))