POJ 1579 Function Run Fun
2015-10-24 00:46
393 查看
分析:题意很简单,调用函数,根据a,b,c的值在递归调用函数。我们只要把w(a,b,c)从(1,1,1)计算到w(20,20,20)就行了,询问时直接就可以输出了。
# include <stdio.h> int dp[25][25][25]; int Dp(int a,int b,int c) { if(a<=0||b<=0||c<=0) return 1; if(a>20||b>20||c>20) return dp[20][20][20]; if(a<b&&b<c) return dp[a][b][c-1]+dp[a][b-1][c-1]-dp[a][b-1][c]; else { if(a<=1) return 2; if(b<=1&&c>1) return dp[a-1][b][c]+dp[a-1][b][c-1]; if(b<=1&&c<=1) return dp[a-1][b][c]+1; else return dp[a-1][b][c]+dp[a-1][b-1][c]+dp[a-1][b][c-1]-dp[a-1][b-1][c-1]; } } int main() { int a,b,c,i,j,k; for(i=1;i<=20;i++) for(j=1;j<=20;j++) for(k=1;k<=20;k++) dp[i][j][k]=Dp(i,j,k); while(scanf("%d%d%d",&a,&b,&c)!=EOF) { if(a==-1&&b==-1&&c==-1) break; printf("w(%d, %d, %d) = %d\n",a,b,c,Dp(a,b,c)); } return 0; }
相关文章推荐
- 10002---使用 XMLHttpRequest 实现 Ajax
- ASIHttpRequest的get和post应用
- Android Native Crash Capture SDK
- 遗传基因科普(6):是谁最先揭示了DNA分子结构的奥秘?
- 使用NDK生成native C/C++的可执行程序
- SBC37x交叉编译平台QT+OPENCV【2】虚拟机Vbox下Ubuntu的磁盘扩容
- iOS runloop 那些事儿
- 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-14-递归层
- [POJ 1062]昂贵的聘礼[最短路][枚举]
- HDU 1078 FatMouse and Cheese
- BNUOJ 13098 约瑟夫环问题
- ——黑马程序员——编程老手与高手的误区
- hdu 1044 Collect More Jewels(BFS+DFS)
- String常用判断例子(账户登录校验,内置小游戏)
- DICOM:试玩Docker发布C-STORE SCP服务
- java基础-JAVA之多线程
- IL指令大全
- 如何脱离tutorial使用igllib
- 扫描AVCapture -- 完整版(指定区域+闪光灯)
- Java异常