100 #1230. 递归函数

递归函数

题目描述

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

如果a<=0 or b<=0 or c<=0就返回值1\red 1.

如果a>20 or b>20 or 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)

这是个简单的递归函数,但实现起来可能会有些问题。当a,b,c\red {a,b,c}均为15\red {15}时,调用

的次数将非常的多。你要想个办法才行

输入格式

会有若干行,并以111\red {-1,-1,-1}结束.

保证输入的数在92233720368547758089223372036854775807\red {-9223372036854775808 \sim 9223372036854775807}之间 并且是整数

输出格式

输出若干行

格式: w(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