#L0506. 三维递归函数求值
三维递归函数求值
题目描述
给定一个递归函数 ,其定义如下:
- 若 或 或 ,则返回 ;
- 若 或 或 ,则返回 ;
- 若 且 ,则返回 ;
- 其它情况,返回 $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(a, b, c) = ans
注意 和等号两侧各有一个空格。
样例
1 1 1
2 2 2
-1 -1 -1w(1, 1, 1) = 2
w(2, 2, 2) = 4
</p>
提示
数据规模与约定
- 保证输入的整数在 范围内。
- 不包括终止行 的输入行数 满足 。
提示
由于 超过 时均被截断为 ,实际计算范围为 ,可以使用记忆化搜索(三维数组缓存)将时间复杂度降至 每次查询。
难度
普及-
通过率
—
尝试
0
已通过
0
- ID
- 1234
- 类型
- 传统题
- Time Limit
- 1000ms
- Memory Limit
- 125MiB
- 上传者