Recent Posts
Notice
No Rules Rules
신나는 함수 실행 (feat. 백준, 9184번) 본문
728x90
반응형
신나는 함수 실행
https://www.acmicpc.net/problem/9184
반응형
// woohyeon.kim
// https://www.acmicpc.net/problem/9184
#include <iostream>
using namespace std;
int dp[51][51][51];
int main() {
ios::sync_with_stdio(false), cin.tie(NULL);
for (register int i = 0, j, k; i <= 50; ++i)
for (j = 0; j <= 50; ++j)
for (k = 0; k <= 50; ++k)
dp[i][j][k] = 1;
for (register int i = 1, j, k; i <= 20; ++i)
for (j = 1; j <= 20; ++j)
for (k = 1; k <= 20; ++k)
if (i < j && j < k) dp[i][j][k] = dp[i][j][k - 1] + dp[i][j - 1][k - 1] - dp[i][j - 1][k];
else dp[i][j][k] = dp[i - 1][j][k] + dp[i - 1][j - 1][k] + dp[i - 1][j][k - 1] - dp[i - 1][j - 1][k - 1];
register int a, b, c;
while (true) {
cin >> a >> b >> c;
if (a == -1 && b == -1 && c == -1)
break;
if (a < 1 || b < 1 || c < 1)
printf("w(%d, %d, %d) = 1\n", a, b, c);
else if (a > 20 || b > 20 || c > 20)
printf("w(%d, %d, %d) = 1048576\n", a, b, c);
else
printf("w(%d, %d, %d) = %d\n", a, b, c, dp[a][b][c]);
}
return 0;
}
// *&)*@*
- 문제의 조건에 따라 풀이를 하면 됩니다.
- 최초 모든 값에 1을 입력하고 1~20까지의 모든 dp를 구한 뒤, 주어진 문제에 맞는 배열을 출력하면 됩니다.
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
구간 합 구하기 4 (feat. 백준, 11659번) (0) | 2022.08.06 |
---|---|
LCS (feat. 백준, 9251번) (0) | 2022.08.05 |
연산자 끼워넣기 (feat. 백준, 14888번) (0) | 2022.08.05 |
스도쿠 (feat. 백준, 2580번) (0) | 2022.08.05 |
N-Queen (feat. 백준, 9663번) (0) | 2022.08.05 |
Comments