Problem Description
Input
Output
Example Input
1 1 1 2 2 2
Example Output
24
01 #include<stdio.h> 02 #include<stdlib.h> 03 int second[21][21][21]={0}; 04 int f(int a,int b,int c) 05 { 06 if(a<=0||b<=0||c<=0) 07 return 1; 08 if(a>20||b>20||c>20) 09 return f(20,20,20); 10 if(second[a][b][c]) return second[a][b][c]; 11 else if(a<b&&b<c) 12 return second[a][b][c]=f(a,b,c-1)+f(a,b-1,c-1)-f(a,b-1,c); 13 else 14 return second[a][b][c]=f(a-1,b,c)+f(a-1,b-1,c)+f(a-1,b,c-1)-f(a-1,b-1,c-1); 15 } 16 int main() 17 { 18 int a,b,c,result; 19 while(~scanf("%d%d%d",&a,&b,&c)) 20 { 21 result=f(a,b,c); 22 printf("%d\n",result); 23 } 24 return 0; 25 }