递归函数(附加题)

成绩 100 开启时间 2018年10月17日 星期三 21:40
折扣 0.8 折扣时间 2018年10月17日 星期三 21:40
允许迟交 关闭时间 2018年10月17日 星期三 21:40
输入文件 dg.in 输出文件 dg.out

【上机实践】递归函数(dg.cpp)

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

如果a≤0 或者 b≤0 或者 c≤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计算,故答案为1。

【输入格式】

输入有多组数据,每组数据一行,均为整数。

保证输入的数在-9223372036854775808~9223372036854775807之间。

输入以-1,-1,-1表示结束。

【输出格式】

每行输出一个结果。

【输入样例】

1 1 1

2 2 2

-1 -1 -1

【输出样例】

2

4