BOJ_11058 : 크리보드
문제
크리보드는 kriii가 만든 신기한 키보드이다. 크리보드에는 버튼이 4개만 있으며, 하는 역할은 다음과 같다.
화면에 A를 출력한다. Ctrl-A: 화면을 전체 선택한다 Ctrl-C: 전체 선택한 내용을 버퍼에 복사한다 Ctrl-V: 버퍼가 비어있지 않은 경우에는 화면에 출력된 문자열의 바로 뒤에 버퍼의 내용을 붙여넣는다. 크리보드의 버튼을 총 N번 눌러서 화면에 출력된 A개수를 최대로하는 프로그램을 작성하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
출력
크리보드의 버튼을 총 N번 눌러서 화면에 출력할 수 있는 A 개수의 최댓값을 출력한다.
C++ 코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
long long d[105];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
for (int i = 1; i <= n; i++) {
d[i] = d[i - 1] + 1;
for (int j = 1; j + 3 <= i; j++) {
d[i] = max( d[i], d[i - (j + 2)] * (j + 1));
}
}
cout << d[n] << '\n';
return 0;
}
Leave a comment