Hu 4639 hehe
生活随笔
收集整理的這篇文章主要介紹了
Hu 4639 hehe
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?一開始已經(jīng)看不下去了,一直一直不懂,對著這道呵呵的題只能說呵呵了。
?思路:后面小d講的思路,一開始遞推發(fā)現(xiàn)好像是斐波那契數(shù)列每一個,每一串中的每一個hehe你可以選擇變還是不變,當(dāng)你變了就是相當(dāng)是一個i-1;的子串當(dāng)你沒變的時候就? 是?一個i-2;
? 狀態(tài)方程寫下來dp[i]=dp[i-1]+dp[i-2];而當(dāng)你把所有的情況都乘起來的時候就是結(jié)果了。因為長度是10086,he兩個字符so只需開一半的空間即可。
#include <math.h> #include <queue> #include <vector> #include <stdio.h> #include <string.h> #include <algorithm> using namespace std; const int xx=1e6; char str[20000]; int cur[xx];void fibonacci() {cur[0]=1;cur[1]=1;cur[2]=2;cur[3]=3;for(int i =4; i<5090;i++){cur[i]=(cur[i-1]+cur[i-2])%10007;} } int main() {int T,ncase=0;scanf("%d", &T);fibonacci();while(T--){scanf("%s", str);int len =strlen(str);int ans=0,cout=1;for(int i=0; i<len-1;){if(str[i]=='h'&&str[i+1]=='e'){ans++;if(i+2<len){i+=2;continue;}break;}cout=(cout*cur[ans])%10007;i++;ans=0;}cout=(cout*cur[ans])%10007;printf("Case %d: %d\n",++ncase,cout);}return 0; }
?
總結(jié)
以上是生活随笔為你收集整理的Hu 4639 hehe的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NOJ 20 吝啬的国度
- 下一篇: 2013 多校联合4 1011 Flip