//害我没睡好觉,靠,烂
#include<iostream>
using namespace std;
#define M 20
int res[M+1][M+1][M+1];
void dp()
{
int i,j,k;
for(i=0;i<=20;i++)
for(j=0;j<=20;j++)
res[i][j][0]=1;
for(j=0;j<=20;j++)
for(k=0;k<=20;k++)
res[0][j][k]=1;
for(i=0;i<=20;i++)
for(k=0;k<=20;k++)
res[i][0][k]=1;
for(i=1;i<=20;i++)
for(j=1;j<=20;j++)
for(k=1;k<=20;k++)
if(i<j && j<k)
res[i][j][k]=res[i][j][k-1]+res[i][j-1][k-1]-res[i][j-1][k];
else res[i][j][k]=res[i-1][j][k]+res[i-1][j-1][k]+res[i-1][j][k-1]-res[i-1][j-1][k-1];
}
int main()
{
int a,b,c;
dp();
while(scanf("%d%d%d",&a,&b,&c)==3 )
{
if(a==-1 && b==-1 && c==-1) return 0;
else {
if(a<=0 || b<=0 || c<=0)
printf("w(%d, %d, %d) = %d\n",a,b,c,1);
else {
if(a>20 || b>20 || c>20)
printf("w(%d, %d, %d) = %d\n",a,b,c,res[20][20][20]);
else printf("w(%d, %d, %d) = %d\n",a,b,c,res[a][b][c]);
}
}
}
return 0;
}
posted on 2009-05-20 13:43
wyiu 阅读(75)
评论(0) 编辑 收藏 引用 所属分类:
POJ