刚开了新博,兴奋不已哦。。。又过了一道水题。可惜今天的任务还木有完成~~~~(>_<)~~~~ 继续加油!!
/*
zoj_1168 模拟
模拟递归,木有难度的一题。。照着题意写就好了。
*/
#include <iostream>
#include <cstdio>
using namespace std;
int w[21][21][21];
int main()
{
int i,j,k;
for( j=0;j<=20;j++ )
{
for( k=0;k<=20;k++ )
{
w[0][j][k]=1;
w[j][k][0]=1;
w[j][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 )
w[i][j][k]=w[i][j][k-1]+w[i][j-1][k-1]-w[i][j-1][k];
else
w[i][j][k]=w[i-1][j][k]+w[i-1][j-1][k]+w[i-1][j][k-1]-w[i-1][j-1][k-1];
}
}
}
while( scanf( "%d%d%d",&i,&j,&k ) && !( i==-1 && j==-1 && k==-1 ) )
{
if( i<=0 || j<=0 || k<=0 )
printf( "w(%d, %d, %d) = 1\n",i,j,k );
else if( i>20 || j>20 || k>20 )
printf( "w(%d, %d, %d) = %d\n",i,j,k,w[20][20][20] );
else printf( "w(%d, %d, %d) = %d\n",i,j,k,w[i][j][k] );
}
return 0;
}