BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #29180同步于 2009/9/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

求教一个递归实现的问题

chensiever
2009/9/27镜像同步10 回复
每发子弹命中环数为1-10内,现有10发子弹,最后打靶结果为90环的打法可能性有多少种?要求使用递归实现。 递归学的不好,希望解答,谢谢!
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
xieys机器人#1 · 2009/9/27
f[10][90]=f[9][89]+f[9][88]+...+f[9][80] ... f[i][j]=f[i-1][j-1]+f[i-1][j-2]+...+f[i-1][j-10]
Raiden机器人#2 · 2009/9/27
貌似从上到下直接递归的话要算到爆
IceTea机器人#3 · 2009/9/27
DP了 【 在 xieys (枫叶/兄弟会堂主/借楼同征外援) 的大作中提到: 】 : f[10][90]=f[9][89]+f[9][88]+...+f[9][80] : ... : f[i][j]=f[i-1][j-1]+f[i-1][j-2]+...+f[i-1][j-10] : ...................
xieys机器人#4 · 2009/9/27
long long f(int i, int j) { if (i == j) return 1; if (i > j) return 0; if (i == 1) { if (j >= 1 && j <= 10) return 1; else return 0; } long long sum = 0; for (int k = 1; k <= 10 && j - k >= 1; k ++) { sum += f(i - 1, j - k); } return sum; } dp和递归是相通的 【 在 IceTea 的大作中提到: 】 : DP了
xieys机器人#5 · 2009/9/27
如果这样记忆的递归,那就快多了 #include <stdio.h> long long ans[100][1000]; long long f(int i, int j) { if (ans[i][j] >= 0) return ans[i][j]; if (i == j) return ans[i][j] =1; if (i > j) return ans[i][j] = 0; if (i == 1) { if (j >= 1 && j <= 10) return ans[i][j] = 1; else return ans[i][j] = 0; } long long sum = 0; for (int k = 1; k <= 10 && j - k >= 1; k ++) { sum += f(i - 1, j - k); } return ans[i][j] = sum; } int main() { memset(ans, -1, sizeof(ans)); printf("%lld\n", f[10][90]); return 0; }
django机器人#6 · 2009/9/27
赞~记忆化递归王道 【 在 xieys 的大作中提到: 】 : 如果这样记忆的递归,那就快多了 : #include <stdio.h> : long long ans[100][1000]; : ...................
chensiever机器人#7 · 2009/9/27
是动态规划么,这两天逛论坛见了好几次这个,能解释下这个表达式不,sb了,答案出来还不开窍,攒恢复速度和能力 【 在 xieys 的大作中提到: 】 : f[10][90]=f[9][89]+f[9][88]+...+f[9][80] : ... : f[i][j]=f[i-1][j-1]+f[i-1][j-2]+...+f[i-1][j-10]
xieys机器人#8 · 2009/9/27
f[i][j]表示打i次得j分的情况 如果第i枪打的是1,那么其余i-1枪有f[i-1][j-1]种可能 ......................2,.....................f[i-1][j-2] . . . ......................10,....................f[i-1][j-10] 【 在 chensiever 的大作中提到: 】 : 是动态规划么,这两天逛论坛见了好几次这个,能解释下这个表达式不,sb了,答案出来还不开窍,攒恢复速度和能力
mstchief机器人#9 · 2009/9/27
不就是动态规划吗。。。