#P1454. 递归函数

递归函数

Description

我们都爱递归!比如这样一个递归函数:

FUNCTION w(a, b, c):
IF x ≤ 0 or y ≤ 0 or z ≤ 0, THEN w(x, y, z)  RETRNS : 1
IF x > 20 or y > 20 or z > 20, THEN w(x, y, z)  RETURNS : w(20, 20, 20)
ELSE IF x < y and y < z, THEN w(x, y, z) RETURNS: w(x, y, z-1) + w(x, y-1, z-1) - w(x, y-1, z)
ELSE w(x, y, z) RETURNS:w(x-1, y, z) + w(x-1, y-1, z) + w(x-1, y, z-1) - w(x-1, y-1, z-1)

Input Format

输入包含多条测试数据,每条测试数据包含3个整数:x y z。

输入以-1 -1 -1 结束。

Output Format

对每条测试数据,按照Sample Output的格式 输出函数的值。

1 1 1
2 2 2
10 4 6
-1 7 18
-1 -1 -1​
w(1, 1, 1) = 2
w(2, 2, 2) = 4
w(10, 4, 6) = 523
w(-1, 7, 18) = 1​

Hint

数据规模约定:

0 < x,y,z < 100

Source

记忆化搜索