Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- SArray = array of String;
- SCode = array of array of String;
- function CompareTT(Str1, Str2: ShortString): Boolean;
- var
- I: Byte;
- begin
- if (Length(Str1) = Length(Str2)) then
- begin
- for I := 1 to Length(Str1) do
- begin
- if (Str1[I] <> Str2[I]) then
- begin
- Result := False;
- break;
- end;
- Result := True;
- end;
- end
- else
- Result := False;
- end;
- function GetCode(Inp :SArray): SCode;
- var
- I, J: Byte;
- Code: SCode;
- Temp: String;
- begin
- SetLength(Code, Length(Inp), 2);
- for I := 0 to High(Inp) do
- begin
- temp := Inp[I];
- Code[I][1] := Temp[1];
- Code[I][0] := '';
- for J := 3 to Length(Inp[I]) do
- Code[I][0] := Code[I][0] + Temp[J];
- end;
- Result := Code;
- end;
- function Recoding(Str: ShortString; Code: SCode): String;
- var
- I: Integer;
- Buffer, Temp: ShortString;
- J: Byte;
- begin
- Buffer := '';
- Temp := '';
- for I := 1 to High(Str) do
- begin
- Buffer := Buffer + Str[I];
- for J := 0 to High(Code) do
- begin
- if CompareTT(Buffer, Code[J][0]) then
- begin
- Temp := Temp + Code[J][1];
- Buffer := '';
- Break;
- end;
- end;
- end;
- Result := Temp;
- end;
- procedure main;
- var
- Size, I: Byte;
- Input: SArray;
- Code: SCode;
- Temp: ShortString;
- begin
- Readln(Size);
- SetLength(Input, Size);
- for I := 0 to High(Input) do
- Readln(Input[I]);
- Code := GetCode(input);
- Readln(Temp);
- Temp := Recoding(Temp, Code);
- Writeln(Temp);
- end;
- begin
- main;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement