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))
'알고리즘 문제풀이' 카테고리의 다른 글
창영이와 점프[백준 22114] (1) | 2025.01.20 |
---|---|
간식 파티 [백준 20162] (0) | 2025.01.20 |
가장 긴 짝수 연속한 부분 수열 (small) [백준 22857] (0) | 2025.01.18 |
회의실 배정3[백준 19622] (0) | 2025.01.17 |
가장 큰 감소 부분 수열[백준 17216] (0) | 2025.01.16 |