HDU 2617 Happy 2009——字符串,计数器什么的
计数器就可以了系列。。。。前几天也做过一道括号匹配的题目,我好像还没发上来,也是这种思路。
按照正常思路,把所有的字符串读入,然后从前面开始减去“happy
”,每去掉一个计数器加1。
——结果:华丽丽的超时了。
Problem Description
No matter you know me or not. Bless you happy in 2009.
Input
The input contains multiple test cases.
Each test case included one string. There are made up of ‘a’-‘z’ or blank. The length of string will not large than 10000.
Output
For each test case tell me how many times “happy” can be constructed by using the string. Forbid to change the position of the characters in the string. The answer will small than 1000.
Sample Input
1 | hopppayppy happy |
Sample Output
1 | 2 |
Author
yifenfei
Source
奋斗的年代
然后发现,其实只要简单的在读到一个h
之后给计数器1加1,读到一个a
,如果前面已经有一个h
了,那么计数器2加1。
坑爹的是happy
里有两个p
啊。。。。。。。。
然后我就发现了其实没有关系,除以二就行了嘛。
于是就有了以下的版本(注释的部分)——然后,再次华丽丽的超时。
在解决了疑似的初始化问题后。。。。。。再次华丽丽的超时。。。。。。
最后发现,我把strlen(s)
提到for
循环外面之后,顿时就好了。。。。。。。
にまあぁHDU你们不能开个优化啊。。。。
代码是Accepted
的。其中被注释包裹着的代码是坑到我的部分——
1 | //HDU happy 2009 |