[백준 9184번 C/C++] 신나는 함수 실행
목차
[백준 9184번 C/C++] 신나는 함수 실행
https://www.acmicpc.net/problem/9184
해결전략
DP
Memorization
코드
#include<iostream>
using namespace std;
int save[51][51][51];
int w(int a, int b, int c)
{
if(save[a][b][c]!=0) return save[a][b][c];
if (a <= 0 || b <= 0 || c <= 0)
{
return save[a][b][c] = 1;
}
if (a > 20 || b > 20 || c > 20)
{
return save[a][b][c] = w(20, 20, 20);
}
if (a < b && b < c)
{
return save[a][b][c] = w(a, b, c-1) + w(a, b-1, c-1) - w(a, b-1, c);
}
else
{
return save[a][b][c] = w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1);
}
}
int main() {
int a, b, c;
while(1)
{
scanf("%d %d %d", &a, &b, &c);
if(a==-1 && b==-1 && c==-1) break;
if (a <= 0 || b <= 0 || c <= 0) printf("w(%d, %d, %d) = 1\n", a, b, c);
else
{
w(a, b, c);
printf("w(%d, %d, %d) = %d\n", a, b, c, save[a][b][c]);
}
}
return 0;
}
'⭐ 코딩테스트 > 백준' 카테고리의 다른 글
[백준 14888번 C/C++] 연산자 끼워넣기 (0) | 2023.05.19 |
---|---|
[백준 1912번 C/C++] 연속합 (0) | 2023.05.18 |
[백준 24416번 C/C++] 알고리즘 수업 - 피보나치 수 1 (0) | 2023.05.16 |
[백준 1620번 C/C++] 나는야 포켓몬 마스터 이다솜 (0) | 2023.05.10 |
[백준 14425번 C/C++] 문자열 집합 (0) | 2023.05.09 |
댓글
이 글 공유하기
다른 글
-
[백준 14888번 C/C++] 연산자 끼워넣기
[백준 14888번 C/C++] 연산자 끼워넣기
2023.05.19 -
[백준 1912번 C/C++] 연속합
[백준 1912번 C/C++] 연속합
2023.05.18 -
[백준 24416번 C/C++] 알고리즘 수업 - 피보나치 수 1
[백준 24416번 C/C++] 알고리즘 수업 - 피보나치 수 1
2023.05.16 -
[백준 1620번 C/C++] 나는야 포켓몬 마스터 이다솜
[백준 1620번 C/C++] 나는야 포켓몬 마스터 이다솜
2023.05.10