Thứ Sáu, 13 tháng 1, 2023

xaudx583 pascal

var   t,i:longint;

procedure giai;
var   i,n:longint;
      s:string;
begin
     readln(s);n:=length(s);
     for i:=1 to (n+1) div 2 do
     begin
        if (s[i]='?') and (s[n+1-i]<>'?') then s[i]:=s[n-i+1];
        if (s[i]<>'?') and (s[n+1-i]='?') then s[n-i+1]:=s[i];
        if (s[i]='?') and (s[n-i+1]='?') then
             begin
                 s[i]:='A';
                 s[n-i+1]:='A';
             end;
        if (s[i]<>'?') and (s[n+1-i]<>'?') and (s[i]<>s[n+1-i]) then
        begin
            write(-1);exit;
        end;
       end;
       writeln(s);
end;

begin
    assign(input, 'xaudx583.inp');reset(input);
    assign(output,'xaudx583.out');rewrite(output);
    readln(t);
    for i:=1 to t do
        giai;
end.

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.