UVa 10446
来源:互联网 发布:手机立体投影软件 编辑:程序博客网 时间:2024/06/06 05:54
题目:统计递归函数调用的次数。
分析:动态规划(DP)。
状态定义:f(n,back)为对应输入的调用次数;
转移方程:f(n,back)= 1+sum(f(n-1,back),f(n-2,back),...,f(n-back,back));
初始状态:f(0,x)= 1,f(1,x)= 1;
注意每个状态都要+1代表自己,f(0,x)的时候不是0是1;
说明:输入中有n和back小于0的,按照题目里的%I64u输出一直WA,改成%llu就过了。。。
#include <stdio.h>#include <stdlib.h>#include <string.h>unsigned long long F[66][66];int main(){for (int i = 0; i < 61; ++ i) {for (int j = 0; j < 61; ++ j) {F[i][j] = 1ULL;}}for (int i = 2; i < 61; ++ i) {for (int j = 1; j < 61; ++ j) {F[i][j] = 1ULL;for (int k = 1; k <= j; ++ k) {if (i-k <= 1) {F[i][j] += 1ULL;}else if (i-k > 1) {F[i][j] += F[i-k][j];}}}}int n, back, cases = 1;while (~scanf("%d%d",&n,&back) && n < 61) {if (n >= 0 && back >= 0) {printf("Case %d: %llu\n",cases ++,F[n][back]); // %llu ?}else {printf("Case %d: 1\n",cases ++);}} return 0;}
阅读全文
0 0
- UVa 10446
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- 波士顿动力委身软银,希望不是跳进了火坑
- iPhone 8 渲染图再次曝光:嵌入式 Touch ID这下没跑了
- npm run dev报错
- Ongl取值
- S12(X)微控制器的Bootloader程序
- UVa 10446
- poj 3682(期望dp)
- 存储走向何处?听听希捷怎么说
- 代码风格-运算符两侧添加空格的规则(摘自百度百科)
- MongoDB 复制集
- 腾讯电脑管家首发“肉鸡”检测工具 力挫暗云III大规模DDos攻击阴谋
- 人工智能不仅能参加高考,百度还用它来帮你估分填志愿
- Python--Input Output,Unicode
- Recyclerview滚动实现隐藏和显示悬浮按钮