zoukankan      html  css  js  c++  java
  • 单词接龙pascal程序

    题意

    现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beast和astonish,如果接成一条龙则变为beastonish,另外相邻的两部分不能存在包含关系,例如at 和 atide间不能相连。


    var
    a:array[0..20] of string;
    b,c:array[0..20] of longint;
    l,n:longint;
    s:string;
    ss,max:integer;
    procedure link(tou:string);
    var
    k,j,i:longint;
    s1,s2:string;
    begin
        for i:=1 to n do
        if c[i]<2 then
        begin
            s:=a[i];
            if length(tou)>=b[i] then k:=b[i]-1 else k:=length(tou);
            s1:='';
            s2:='';
            for j:=1 to k do
            begin
                s1:=tou[length(tou)+1-j]+s1;
                s2:=s2+s[j];
            if s1=s2 then
            begin
                ss:=ss+b[i]-j;
                if ss>max then max:=ss;
                inc(c[i]);
                link(a[i]);
                dec(c[i]);
                ss:=ss+j-b[i];
            end;
        end;
    end;
    end;
    begin
        readln(n);
        max:=0;
        for l:=1 to n do
        begin
            readln(s);
            a[l]:=s;
            b[l]:=length(s);
            c[l]:=0;
        end;
        readln(s);
        ss:=length(s);
        link(s);
        writeln(max);
    end.




  • 相关阅读:
    ASM ClassReader failed to parse class file- probably due to a new Java class file version that isn't supported yet问题
    Git配置工作
    Git多人协作
    Git分支合并
    网络收藏夹
    莫道桑榆晚,为霞尚满天
    2021幼升小
    2020年07月28日10:36:36
    JAVA中如果用BigDecimal做除法
    mybatis
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500209.html
Copyright © 2011-2022 走看看