刚开了新博,兴奋不已哦。。。又过了一道水题。可惜今天的任务还木有完成~~~~(>_<)~~~~ 继续加油!!
/* 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; }