最新公告
  • 欢迎您光临信息学奥赛网,一个优质的信息学编程题库和信息学编程学习资源专业网站。欢迎加入VIP
  • 问题 BQ: L7-6 记忆化搜索 - 练习8

    正文概述 网友投稿   2026-01-22 10:40:18  

    题目描述

    对于一个递归函数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)

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

    输入

    输入共有n+1行: 第1行:1个整数n(1 <= 1000) 接下来n行:每行3个整数a,b,c,空格隔开(-10,000<= a,b,c <=10,000)

    输出

    输出共有n行,每个w(a,b,c的结果)。

    样例输入

    2
    1 1 1
    2 2 2

    样例输出

    2
    4
    信息学奥赛网,一个优质的源码资源平台!
    信息学奥赛网 » 问题 BQ: L7-6 记忆化搜索 - 练习8