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

+ Recent posts