zoukankan      html  css  js  c++  java
  • 字符串 自己看看留个纪念而已

    题目poj1226(可暴力,可后缀数组)

    //题意:给定n个串,求一个最大子串长度,
    //使得它或者它的逆向串在每个串中出现。
     
    //思路:先求出最短的串sho[],然后枚举答案长度ans(len~1)。
    //于是sho[]就被分成了len-ans+1个子串pos[],
    //再分别求出这些字串的反串inv[],
    //判断pos[]和inv[]是否都出现在所有的串中。
    
    
    
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std ;
    struct tt
    {
        char s[110];
        int len;
    }aa[110];
    
    struct ttt
    {
        char a[110],b[110];
        int len;
    }bb[10000];
    int cmp(ttt x,ttt y)
    {
        return x.len>y.len;
    };
    
    int main () {
        int t;
        scanf("%d",&t);
        while(t--)
        {
            int n;
            scanf("%d",&n);
            int minn=210000,minid=0;
            for(int i=0;i<n;i++) {
                scanf("%s",aa[i].s);
                aa[i].len=strlen(aa[i].s);
                if(aa[i].len<minn)
                    minn=aa[i].len,minid=i;
            }
            int id=0;
            for(int i=0;i<minn;i++) {
                for(int j=i;j<minn;j++)    {
                    int kk=0;
                    for(int k=i;k<=j;k++) 
                    bb[id].a[kk++]=aa[minid].s[k];
                    bb[id].a[kk]='';
                    kk=0;
                    for(int k=j;k>=i;k--)
                        bb[id].b[kk++]=aa[minid].s[k];
                    bb[id].b[kk]='';
                    bb[id].len=kk;
                    id++;
                }
            }
            sort(bb,bb+id,cmp);
            int exist,ans=0;
            for(int ii=0;ii<id;ii++)
            {
                exist=1;
                for(int i=0;i<n;i++)
                {
                    if(strstr(aa[i].s,bb[ii].a)==0&&strstr(aa[i].s,bb[ii].b)==0)
                    {
                        exist=0;
                        break;
                    }
                }
                if(exist){ans=bb[ii].len;break;}
            }
            printf("%d
    ",ans);
        }
    
        return 0 ;
    }        
    View Code
  • 相关阅读:
    logstash 配置 logstash-forwarder (前名称:lumberjack)
    你不知道的if,else
    css样式
    表格 表单
    学习第一天练习
    唯有作茧自缚,方可破茧成蝶
    第一周复习二 (CSS样式表及其属性)
    第一周复习一 ( HTML表单form)
    汉企第一天小记
    C语言 -- register关键字
  • 原文地址:https://www.cnblogs.com/laiba2004/p/3949260.html
Copyright © 2011-2022 走看看