출처: https://bumcrush.tistory.com/182 [맑음때때로 여름]
https://www.acmicpc.net/problem/1965
1965번: 상자넣기
정육면체 모양의 상자가 일렬로 늘어서 있다. 상자마다 크기가 주어져 있는데, 앞에 있는 상자의 크기가 뒤에 있는 상자의 크기보다 작으면, 앞에 있는 상자를 뒤에 있는 상자 안에 넣을 수가 ��
www.acmicpc.net
#include <iostream>
using namespace std;
const int MAX = 1000 + 1;
int arr[MAX];
int dp[MAX];
int N;
void maximumBox()
{
for (int i = 1; i <= N; i++)
{
dp[i] = 1;
for (int j = 1; j <= i; j++)
{
if (arr[j] < arr[i] && dp[j] + 1 > dp[i])
dp[i] += 1;
}
}
int maxNum = 0;
for (int i = 1; i <= N; i++)
{
if (dp[i] > maxNum)
maxNum = dp[i];
}
cout << maxNum;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(NULL);
cin >> N;
for (int i = 1; i <= N; i++)
cin >> arr[i];
maximumBox();
}
백준 11722번 문제랑 똑같다. 뭐 크게 설명할게 없다.
백준 2011 암호코드(dynamic programming) (0) | 2020.07.11 |
---|---|
백준 1915 가장 큰 정사각형(dynamic programming) (0) | 2020.07.09 |
백준 6359 만취한 상범(dynamic programming) (0) | 2020.07.08 |
백준 1904 01타일(dynamic programming) (0) | 2020.07.08 |
백준 1890 점프(dynamic programming) (0) | 2020.07.07 |
댓글 영역