GIẢI ĐỀ THI HSG TIN HỌC TP. LONG XUYÊN 2021-2022 (BÀI 3 - TÌM XÂU CON ĐỐI XỨNG DÀI NHẤT)

Chuỗi con đối xứng là chuỗi mà nếu ta đọc từ trái sang phải hay từ phải sang trái đều giống nhau. Một ký tự duy nhất cũng được gọi là chuỗi đối xứng. Ví dụ: chuỗi ‘abcba’ là chuỗi đối xứng; chuỗi ‘abcdba’ không phải là chuỗi đối xứng.

          Viết chương trình nhập vào từ bàn phím chuỗi ký tự S có chiều dài không quá 255 ký tự. In ra màn hình chuỗi con đối xứng dài nhất của S. Biết rằng chuỗi con của S là chuỗi gồm một số ký tự liên tiếp nhau trong S có độ dài nhỏ hơn hoặc bằng độ dài của chuỗi S.

          Ví dụ: chuỗi ‘bcb’ và chuỗi ‘abcba’ là hai chuỗi con đối xứng của chuỗi ‘qabcbat’; và chuỗi ‘abcba’ là chuỗi con đối xứng dài nhất.

CODE THAM KHẢO:

program xaucondoixung_dainhat;

uses crt;

var  st,s1,s2:string;

     i,j,max: longint;

function xdx(s:string): boolean;

var i:longint;

begin

        for i:=1 to length(s) div 2 do

        if s[i] <> s[length(s)-i+1] then begin exit(false); end;

        xdx:=true;

end;

begin

        clrscr;

        write('Nhap xau: '); readln(st);

        if length(st) = 1 then write(st);

        max:=1; s2:='';

        for i:=1 to length(st)-1 do

        for j:=i+1 to length(st) do

        begin

                s1:=Copy(st,i,j-i+1);

                if xdx(s1) then

                  if max < length(s1) then

                  begin

                        max:=length(s1);

                        s2:=s1;

                  end;

        end;

        write(s2);

        readln;

end.

 


Nhãn:

Đăng nhận xét

[blogger]

Biểu mẫu liên hệ

Tên

Email *

Thông báo *

Được tạo bởi Blogger.
Javascript DisablePlease Enable Javascript To See All Widget