zoukankan      html  css  js  c++  java
  • HDU 4639 hehe 杭电2013多校联赛第四场1008题

    解题报告:题目的意思是输入一个字符串,并规定,里面的“hehe”可以用"wqnmlgb"来代替,也可以不代替,问输入的这个字符串在经过相关的代替之后可以有多少种不同的形态。先打一个斐波那契数的表,f[1] = 1,f[2] =2....,然后从前往后扫一遍字符串,将一段连在一起的"he"一起计算,若这一段里面有 n 个 "he" ,然后这一段就有f[n]种不同的形态,然后一直这样扫下去,把每一段的状态数都相乘,就是最后的结果,不过,要注意的是用到斐波那契数如果不取模的话,一定会爆 int 所以打表的时候每一步都要取摸,并且相乘的时候每一步也要取模。

     1 #include<cstdio>
     2 #include<cstring>
     3 const int MAX = 10090,MOD = 10007;
     4 int f[MAX];
     5 void dabiao() {
     6     f[0] = f[1] = 1;
     7     f[2] = 2,f[3] = 3;
     8     for(int i = 4;i<MAX;++i)
     9     f[i] = (f[i-1]%MOD + f[i-2]%MOD)%MOD;
    10 }
    11 int main() {
    12     int T,l = 1;
    13     char S[MAX];
    14     dabiao();
    15     scanf("%d",&T);
    16     while(T--) {
    17         scanf("%s",S);
    18         int len = strlen(S);
    19         int tot = 0,sum = 1;
    20         for(int i = 0;i<len;++i) {
    21             if(S[i] != 'h') {
    22                 sum = sum*f[tot]%MOD;
    23                 tot = 0;
    24             }
    25             else if(S[i] == 'h' &&S[i+1] == 'e') {
    26                 i++;
    27                 tot++;
    28             }
    29         }
    30         sum = sum*f[tot]%MOD;
    31         printf("Case %d: %d
    ",l++,sum);
    32     }
    33     return 0;
    34 }
    View Code
  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    2.5.3 表单过滤器
    2.5.2 子过滤器
    2.5.1 位置过滤器:
    2.4 通过属性来选择元素
    2.3 根据层级查找元素
    2.2.4 元素选择器
    2.2.3 Class选择器
    2.2.2 ID选择器
  • 原文地址:https://www.cnblogs.com/xiaxiaosheng/p/3231060.html
Copyright © 2011-2022 走看看