Cod sursa(job #124892)

Utilizator CezarMocanCezar Mocan CezarMocan Data 20 ianuarie 2008 09:56:32
Problema Restante Scor 50
Compilator fpc Status done
Runda preONI 2008, Runda 3, Clasa a 9-a Marime 0.8 kb
const m=666013;

var v:array[1..36100] of string[20];
    n,i,j,h,p,nr:longint;
    c:char;
    x:array['a'..'z'] of integer;
    t:array[0..666014]of word;

begin
assign(input,'restante.in');reset(input);
assign(output,'restante.out');rewrite(output);
readln(n);
for i:=1 to n do
        begin
        readln(v[i]);
        p:=length(v[i]);
        fillchar(x,sizeof(x),0);
        for j:=1 to p do
                inc(x[v[i,j]]);
        v[i]:='';
        for c:='a' to 'z' do
                for j:=1 to x[c] do
                        v[i]:=v[i]+c;
        h:=0;
        for j:=1 to p do
                h:=(h*27+(ord(v[i,j])-96)) mod m;
        inc(t[h]);
        end;
for i:=0 to m-1 do
        if t[i]=1 then
                inc(nr);
writeln(nr);
close(input);close(output);
end.