posts - 100,  comments - 15,  trackbacks - 0
//害我没睡好觉,靠,烂
#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<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==-1return 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 阅读(68) 评论(0)  编辑 收藏 引用 所属分类: POJ

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理