zoukankan      html  css  js  c++  java
  • HDU 1523 Decoding Morse Sequences

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1523

    此题大意为 给你一串摩尔斯密码  再给你一个字典(下面单词本)

    用下面的单词组合成给你的摩尔斯密码, 问最多有多少种不同的组合方式。

    题解分析:

    1.设字符串的长度为len ,  判断dp[i]处是否可达, 若可达则遍历整个单词表。

    2.要先把dp[0]设为1,遍历单词表,若此单词可以在 i 处匹配则 dp[i+L] += dp[i], L(这个单词转成摩尔斯密码后的字符长度);

    3.最后输出dp[len];

    下面是代码:

     1 #include<stdio.h>
     2 #include<string.h>
     3 
     4 char Morse[26][5]={{".-"},{"-..."},{"-.-."},{"-.."},
     5 {"."},{"..-."},{"--."},{"...."},{".."},{".---"},{"-.-"},{".-.."},
     6 {"--"},{"-."},{"---"},{".--."},{"--.-"},{".-."},{"..."},{"-"},
     7 {"..-"},{"...-"},{".--"},{"-..-"},{"-.--"},{"--.."}};
     8 
     9 char Dict[10005][205];//字典保存每个单词
    10 int dp[40005];
    11 int main()
    12 {
    13     int T, i, n, len, j, a;
    14     char str[10270], str2[270];
    15     scanf("%d",&T);
    16     while(T--)
    17     {
    18         scanf("%s",str);
    19         len = strlen(str);
    20         scanf("%d",&n);
    21         memset(dp,0,sizeof(dp));
    22         for(i=0; i<n; i++)//转化词典
    23         {
    24             Dict[i][0]=NULL;//每次到要初始化
    25 
    26             scanf("%s",str2);
    27             for(j=0; str2[j]; j++)
    28                 strcat(Dict[i],Morse[str2[j]-'A']);
    29         }
    30         dp[0] = 1;
    31         for(i=0; i<len; i++)
    32         {
    33             if(dp[i])
    34             {
    35                 for(j=0; j<n; j++)
    36                 {
    37                     a = strlen(Dict[j]);
    38 
    39                     if(strncmp(str+i,Dict[j],a) == 0)//若此处可以匹配
    40                         dp[i+a] += dp[i];
    41                 }
    42             }
    43         }
    44         printf("%d
    ",dp[len]);
    45     }
    46     return 0;
    47 }
  • 相关阅读:
    @bzoj
    @hdu
    @noi.ac
    @noi.ac
    @noi.ac
    jsp include page指令标记
    javascript 对象(DOM)document window history
    HTML 标准属性 和 事件属性
    html 特殊字符 fmt table A
    mysql 启动 导入sql文件
  • 原文地址:https://www.cnblogs.com/chenchengxun/p/3885537.html
Copyright © 2011-2022 走看看