zoukankan      html  css  js  c++  java
  • FJUT ACM 1212 集训队的药药切克闹

    集训队的药药切克闹

    TimeLimit: 1000 ms  MemoryLimit: 65535 K
    64-bit integer IO format:%I64d
    已解决 | 点击收藏
    Problem Description
    ACM队员LH听到了中国大妈广场舞的音乐,它的旋律就是呦呦切克闹,大妈说旋律完美重复的就是好的曲子,像“abcabc”,于是LH就在广场学起了广场舞,曲子一首接一首的放过去,LH发现有的歌不是完美曲子,他现在要挑出不是完美的曲子如果是完美曲子就输出“Win”否则输出“Lost”;
    Input
    输入数据有多行,每行输入一个字符串,长度小于等于100000.请问该字符串是不是重复串. 重复串即:假设 A = "abc",字符只可能是小写字母. AA(abcabc),AAA,或者更多个A形式存在即为重复串.
    Output
    对于每行数据,如果是重复串输出Win,否则输出Lost.
    SampleInput
    abaaba
    aba
    SampleOutput
    Win
    Lost

    听说暴力匹配能过
     1 #include<stdio.h>
     2 #include<string.h>
     3 #define MAXN 100005
     4 /**
     5 通过KMP算法的计算next数组
     6 然后输出next数组发现规律
     7 就可以发现满足len%(len-next[len])==0&&(next[len]!=0&&len!=1)
     8 就是WIN
     9 否则就是LOST
    10 **/
    11 int next[MAXN];
    12 char word[MAXN];
    13 void KMPGET(char word[])
    14 {
    15     int len=strlen(word);
    16     int k=-1;
    17     int j=0;
    18     next[0]=-1;
    19     while(j<len)
    20     {
    21         if(k==-1||word[j]==word[k])
    22         {
    23             j++;
    24             k++;
    25             next[j]=k;
    26         }
    27         else
    28             k=next[k];
    29     }
    30 }
    31 int main()
    32 {
    33     while(~scanf("%s",word))
    34     {memset(next,0,sizeof(next));
    35         KMPGET(word);
    36         int len=strlen(word);
    37             if(len%(len-next[len])==0&&(next[len]!=0&&len!=1))
    38                 printf("Win
    ");
    39             else
    40                 printf("Lost
    ");
    41 
    42     }
    43     return 0;
    44 }
    View Code
  • 相关阅读:
    Linux效劳器装机安全快速进阶指南(6)
    VLC 0.8.6b
    Mesk:简洁而朴实的音乐播放器
    OpenOffice.org最先支持微软docx等技俩
    Rawstudio-轻松转换 RAW 图片
    Transmission 0.70
    Openoffice3.0: 微软Office的解散者?
    AcetoneISO:Linux 下的“Daemon Tools”
    OpenOffice3将支撑PDF编纂及ac琐屑
    Linux的主动实行措施cron和crontab(1)
  • 原文地址:https://www.cnblogs.com/qq136155330/p/8870407.html
Copyright © 2011-2022 走看看