#P1579. Function Run Fun
Function Run Fun
本题没有可用的提交语言。
描述
我们都喜欢递归!不是吗?
考虑一个三参数递归函数:
if a <= 0 or b <= 0 or c <= 0, then w(a, b, c) 返回:
1
if a > 20 or b > 20 or c > 20, then w(a, b, c) 返回:
w(20, 20, 20)
if a < b and b < c, then w(a, b, c) 返回:
w(a, b, c-1) + w(a, b-1, c-1) - w(a, b-1, c) 否则返回: w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b, c-1) - w(a-1, b-1, c-1) 这是一个简单的函数来实现。问题是,如果直接实现,对于a、b和c的中等值(例如,),由于大量递归,程序需要运行数小时。
输入
程序的输入将是一系列整数三元组,每行一个,直到文件结束标志。使用上述技术,您将有效地计算并打印结果。
输出
1 1 1
2 2 2
10 4 6
50 50 50
-1 7 18
-1 -1 -1
w(1, 1, 1) = 2
w(2, 2, 2) = 4
w(10, 4, 6) = 523
w(50, 50, 50) = 1048576
w(-1, 7, 18) = 1
来源
太平洋西北1999