Logo Universal Online Judge

UOJ

时间限制:1 s 空间限制:512 MB

#5. recursion

统计

recursion

题目描述

对于一个递归函数 $w(a,b,c)$:

  • 如果 $a \le 0$ 或 $b \le 0$ 或 $c \le 0$ 就返回值 $1$ .
  • 如果 $a > 20$ 或 $b > 20$ 或 $c > 20$ 就返回 $w(20,20,20)$ .
  • 如果 $a < b$ 并且 $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)$ .

注意: 例如 $w(30,-1,0)$ 又满足条件 1 又满足条件 2, 请按照最上面的条件来算, 答案为 $1$.

输入格式

输入共有若干行, 每行为 3 个整数 a b c , 并以 -1 -1 -1 结束.

输出格式

输出共有若干行, 每一行的格式为:

w(a, b, c) = ans

注意空格.

说明

所有输入的数都在 int 类型所能表示的范围内.

提示

这是个简单的递归函数, 但实现起来可能会有些问题. 当 $a,b,c$ 均为 $15$ 时, 调用的次数将会非常多, 你要想个办法才行.