hdu 1579 Function Run Fun

来源:互联网 发布:最强围棋软件 编辑:程序博客网 时间:2024/05/29 23:45

递归会超时,用递推


#include<stdio.h>int dp[25][25][25];int main(){int a,b,c,k;for(a=0;a<=20;a++)for(b=0;b<=20;b++)for(c=0;c<=20;c++){if(a<=0||b<=0||c<=0)dp[a][b][c]=1;else if(a<b&&b<c)dp[a][b][c]=dp[a][b][c-1]+dp[a][b-1][c-1]-dp[a][b-1][c];elsedp[a][b][c]=dp[a-1][b][c]+dp[a-1][b-1][c]+dp[a-1][b][c-1]-dp[a-1][b-1][c-1];}while(scanf("%d%d%d",&a,&b,&c),a!=-1||b!=-1||c!=-1){if(a<=0||b<=0||c<=0)                    k=dp[0][0][0];else if(a>20||b>20||c>20)k=dp[20][20][20];else k=dp[a][b][c];printf("w(%d, %d, %d) = %d\n",a,b,c,k);}return 0;}


原创粉丝点击