zoukankan      html  css  js  c++  java
  • 求多个字符串相同的且最前面的子字符串(该字符串长度>=3)【用递归进行判断】

    #include <iostream>
    using namespace std;

    char a[100][10000];
    int p1,p2,b[100],n,k;

    bool p(int p1,int p2)
    {int i,j;
        if(p1==n-1)
    return 1;
    else{
        for(i=p2;i<strlen(a[p1])-2;i++)
            for(j=0;j<strlen(a[p1+1])-2;j++)
                if(a[p1][i]==a[p1+1][j]&&a[p1][i+1]==a[p1+1][j+1]&&a[p1][i+2]==a[p1+1][j+2])
                {if(p(p1+1,j))
                {b[p1]=i;b[p1+1]=j;return 1;}
                
                }
                
                
    }
    return 0;
    }

    int main()
    {
        int t,i,j;
        cin>>t;
        while(t--)
        {
            cin>>n;
            for(i=0;i<n;i++)
            cin>>a[i];
            if(p(0,0))
            {
                bool o=0;
                for(i=b[0]+1;i<strlen(a[0]);i++)
                {for(j=1;j<n;j++)
                if(a[0][i]!=a[j][i-b[0]+b[j]])
                {o=1;break;}
                if(o==1)break;
                }
                
                for(j=b[0];j<i;j++)
                    cout<<a[0][j];
                cout<<a[i-1]<<endl;
            }
            else cout<<"no significant commonalities"<<endl;
        }
        return 0;}

  • 相关阅读:
    worker.properties配置
    uriworkermap.properties配置
    Apache Tomcat连接器-Web服务器操作方法
    x01.os.14: 时间都去哪儿了
    x01.os.13: 文件系统
    x01.os.12: 在 windows 中写 OS
    x01.os.11: IPC 路线图
    x01.os.10: 输入输出
    x01.os.9: 进程切换
    x01.os.8: 加载内核
  • 原文地址:https://www.cnblogs.com/lengxia/p/4387834.html
Copyright © 2011-2022 走看看