题目名称 1396. w函数
输入输出 wwww.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 4
题目来源 GravatarBenjamin 于2013-08-21加入
开放分组 全部用户
提交状态
分类标签
搜索法 最短路 模拟
分享题解
通过:103, 提交:425, 通过率:24.24%
GravatarHeHe 100 0.000 s 0.00 MiB C++
Gravatar张铭哲 100 0.001 s 0.20 MiB Pascal
Gravatar苏轼 100 0.001 s 0.20 MiB Pascal
GravatarAlan 100 0.001 s 0.20 MiB Pascal
Gravatarbhiaibogf 100 0.001 s 0.20 MiB Pascal
Gravatar前无古人 100 0.001 s 0.20 MiB Pascal
Gravatar 100 0.001 s 0.20 MiB Pascal
Gravatar丿Mht丶闪电 100 0.001 s 0.20 MiB Pascal
GravatarOstmbh 100 0.001 s 0.26 MiB C++
Gravatarwoca 100 0.001 s 0.31 MiB C++
关于 w函数 的近10条评论(全部评论)
回复 @GaoErFu : 可以试一试记忆化搜索。
Gravatar+1s
2017-10-27 20:23 12楼
有的测试数据貌似有规律,好像是算2的多次幂,但是有的测试数据规律找不到,直接递归又超时,究竟怎么写呀?
GravatarGaoErFu
2015-11-15 17:11 11楼
-1 -1 -1 神坑测试数据
Gravatarch3coooh
2014-03-14 19:29 10楼
这题是我第一次想要怒粘代码
GravatarLetter zZZz
2014-02-03 14:49 9楼
以后数据能不能别这么坑了。。。
Gravatar苏轼
2013-10-19 14:56 8楼
我来修正数据,对不起打表党们了==
Gravatar超级傲娇的AC酱
2013-10-17 19:49 7楼
标程用的整形变量范围过小,导致遇到2222222这样的数时直接超范围转成了一个负数,所以答案就变成1了。。。。
Gravatar苏轼
2013-10-16 20:09 6楼
大家都打表,我直接打表一次过hiahia
GravatarStrawberry
2013-10-14 20:40 5楼
太逗了,明明C++中a,b,c不是long的长度而是short,不过用short无法读入大数,pascal却可以……c++打表党飘过
Gravatardigital-T
2013-10-04 20:08 4楼
1048576?
这题错了?
不要做了。
Gravatarranto
2013-09-22 20:22 3楼

1396. w函数

★☆   输入文件:wwww.in   输出文件:wwww.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

对于一个递归函数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的值会使函数运行时间无法忍受。

【输入格式】

输入文件有n+1(0<=n<=10000)行,第i(1<=i<=n)行有三个整数ai,bi,ci(保证在pascal的longint 或 C/C++的long范围内)。

第n+1行必定是-1 -1 -1(同时保证其他行不会是-1 -1 -1)。

【输出格式】

输出文件有n行,第i行输出w(ai,bi,ci)的值(保证在pascal的int64 或 C/C++的long long范围内)。

【样例输入】

1 1 1
2 2 2
-1 -1 -1

【样例输出】

2
4

【提示】

输出的第一行是w(1,1,1),输出的第2行是w(2,2,2)。

【来源】

题目提供者邮箱:darkgodz@qq.com(感谢题目提供者对COGS评测系统的支持)