• HDU 2328 POJ 3450 KMP


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

                      POJ http://poj.org/problem?id=3450


    #include<iostream>
    #include<cstring>
    #include<string>
    #include<cstdio>
    using namespace std;
    const int maxn=4444;
    
    char x[222],ans[222]; 
    char f[maxn][222];
    int next[222];
    
    void strcpy(char *y,int i,int len){
        for(int j=0;j<len;++i,++j)
            x[j]=y[i];
        x[len]='';
    }
    void Get_Next(char *s){
        int len=strlen(s);
        next[0]=-1;
        int i=0, j=-1;
        while(i<len){
            if(j==-1||s[i]==s[j]){
                if(s[++i]==s[++j])
                    next[i]=next[j];
                else next[i]=j;
            }
            else j=next[j];
        }
    }
    bool KMP(char *s,char *a){//cout<<1<<endl;
        int ls=strlen(s), la=strlen(a);
        Get_Next(a);
        int i=0, j=0;
        while(i<ls&&j<la){
            if(j==-1||s[i]==a[j])
                ++i,++j;
            else j=next[j];
        }
        if(j>=la) return true;
        return false;
    }
    int main(){
        int n;
        while(~scanf("%d",&n),n){
            for(int i=0;i<n;++i)
                scanf("%s",f[i]);
            int len=strlen(f[0]);
            bool flag=false;
            ans[0]='';
            for(int i=len;i&&!flag;--i)
            for(int j=0,k;j<=len-i;++j){
                strcpy(f[0],j,i);
                for(k=1;k<n;++k)
                    if(!KMP(f[k],x))break;
                if(k==n)//cout<<x<<endl;
                    if(!flag||strcmp(ans,x)>0){
                        strcpy(ans,x); flag=true;
                    }
            }
            if(flag)
                puts(ans);
            else 
                puts("IDENTITY LOST");
        }
        return 0;
    }
    


  • 相关阅读:
    Centos 配置网易YUM源
    JDK 变量配置
    redis如何解决key冲突?
    大数据技术(1)流式计算与Storm
    20151211小问题
    返回顶部
    20151210小问题2
    20151210小问题
    20151209小问题
    前端程序员的自我修养
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3196817.html
Copyright © 2020-2023  润新知