p1170.dpr

来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· DPR 代码 · 共 79 行

DPR
79
字号
program p1170;

{$APPTYPE CONSOLE}

{%File 'p.in'}

uses
  SysUtils;

var
        p1 , p2 : String;

function gcd ( a , b : Longint ) : Longint;
begin
        if a = 0 then gcd := b
                else gcd := gcd ( b mod a , a );
end;


procedure Work;
var     i       : Longint;
        j       : Longint;
        d       : Longint;
        len     : Longint;
        max     : Longint;
        get     : Longint;
begin
        p1 := copy ( p2 , 1 , pos ( ' ' , p2 ) -1 );
        delete ( p2 , 1 , pos ( ' ' , p2 ));

        len := length ( p1 ) + length ( p2 );
        max := 0;
        for i := 1 to length ( p1 ) do
                begin
                get := 0;
                for j := 1 to length ( p2 ) do
                        if ( i + j - 1 <= length ( p1 ))
                                and ( p1 [i + j - 1] = p2 [j] ) then inc ( get );
                if get > max then max := get;
                end;
                
        for i := 1 to length ( p2 ) do
                begin
                get := 0;
                for j := 1 to length ( p1 ) do
                        if ( i + j - 1 <= length ( p2 ))
                                and ( p2 [i + j - 1] = p1 [j] ) then inc ( get );
                if get > max then max := get;
                end;

        max := max * 2;

        write ( 'appx(' , p1 , ',' , p2 , ') = ' );
        if max = 0 then writeln ( 0 )
                else if max = len then writeln ( 1 )
                        else begin
                        d := gcd ( max , len );
                        max := max div d;
                        len := len div d;
                        writeln ( max , '/' , len );
                        end;
end;

begin
  { TODO -oUser -cConsole Main : Insert code here }
        assign ( input , 'p.in' );
        reset ( input );
        assign ( output , 'p.out' );
        rewrite ( output );

        while ( true ) do
                begin
                readln ( p2 );
                if ( p2 = '-1' ) then break;
                Work;
                end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?