P. Function

    Type: Default 1000ms 256MiB

Function

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

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

  • 如果 a0a \le 0b0b \le 0c0c \le 0 就返回值 11
  • 如果 a>20a>20b>20b>20c>20c>20 就返回 w(20,20,20)w(20,20,20)
  • 如果 a<ba<b 并且 b<cb<c 就返回 w(a,b,c1)+w(a,b1,c1)w(a,b1,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,ca,b,c 均为 1515 时,调用的次数将非常的多。你要想个办法才行。

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

输入格式

会有若干行。

并以 1,1,1-1,-1,-1 结束。

输出格式

输出若干行,每一行格式:

w(a, b, c) = ans

注意空格。

1 1 1
2 2 2
-1 -1 -1
w(1, 1, 1) = 2
w(2, 2, 2) = 4

说明/提示

数据规模与约定

保证输入的数在 [9223372036854775808,9223372036854775807][-9223372036854775808,9223372036854775807] 之间,并且是整数。

保证不包括 1,1,1-1, -1, -1 的输入行数 TT 满足 1T1051 \leq T \leq 10 ^ 5

五一集训深度优先搜索

Not Claimed
Status
Done
Problem
32
Open Since
2025-4-28 0:00
Deadline
2025-5-6 23:59
Extension
24 hour(s)