Cod sursa(job #46583)

Utilizator dascaluDascalu Andi-Florin dascalu Data 2 aprilie 2007 19:17:17
Problema Triplete Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.69 kb
const b=32;
var x:array[1..4096,1..32]of longword;
    f,g:text;
    k,m,i,j,a1,a2,triplete,l,n,c,r,t:word;
begin
assign(f,'triplete.in');
reset(f);
read(f,n,m);
if (n mod b <>0)then
n:=n div b+1
else
n:=n div b;

for k:=1 to m do
begin
     read(f,a1,a2);
     for t:=1 to n do
     begin
          l:=x[a1,t] and x[a2,t];
          while(l>0)do
          begin
                l:=l and(l-1);
                triplete:=triplete+1;
          end;
     end;
     c:=a2 div b;
     x[a1,c]:=x[a1,c] or (1 shl (a2 mod b));
     c:=a1 div b;
     x[a2,c]:=x[a2,c] or (1 shl(a1 mod b));
end;
close(f);
assign(g,'triplete.out');
rewrite(g);
writeln(g,triplete);
close(g);
end.