Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project1;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- type
- TElem = record
- letter: char;
- next: array['a'..'z'] of longint;
- cnt: longint;
- terminal: boolean;
- end;
- var
- cnt, free, i, n: longint;
- bor: array[1..5000000] of TElem;
- st: string;
- function cn_term(st: string): longint;
- var
- cur: longint;
- i: longint;
- begin
- cur:= 1;
- for i:= 1 to length(st) do begin
- if bor[cur].next[st[i]] <> 0 then begin
- cur:= bor[cur].next[st[i]];
- end else begin
- inc(free);
- bor[cur].next[st[i]]:= free;
- cur:= bor[cur].next[st[i]];
- end;
- end;
- bor[cur].terminal:= true;
- inc(bor[cur].cnt);
- result:= bor[cur].cnt;
- end;
- begin {
- reset(input,'input.txt');
- rewrite(output,'output.txt'); }
- readln(n);
- free:= 0;
- for i:= 1 to n do begin
- readln(st);
- cnt:= cn_term(st);
- if cnt = 1 then writeln('OK') else begin
- st:= st + inttostr(cnt);
- writeln(st);
- end;
- end;
- end.
Add Comment
Please, Sign In to add comment