import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class main {
static int[][][] dp;
static StringTokenizer st;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
while(true) {
dp= new int[21][21][21];
st = new StringTokenizer(br.readLine()," ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int c = Integer.parseInt(st.nextToken());
if(a==-1 && b==-1 && c==-1) break;
bw.write("w("+a+", "+b+", "+c+") = "+w(a,b,c)+"\n");
}
bw.flush();
bw.close();
}
static int w(int a, int b, int c) {
if(a<=0 || b <=0 || c<=0) return 1;
if(a>20 || b>20 || c>20) return w(20,20,20);
if(dp[a][b][c]!=0) return dp[a][b][c];
if(a<b && b<c) return dp[a][b][c]=w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
return dp[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);
}
}
타일링 문제랑 비슷한 늒힘
'NOTE > BAEKJOON' 카테고리의 다른 글
9461 파도반수열 (0) | 2022.03.17 |
---|---|
1904번 01타일 (0) | 2022.03.16 |
1003번 피보나치함수 (0) | 2022.03.16 |
21.10.15 (0) | 2021.10.15 |
21.10.14 (0) | 2021.10.14 |