Pagini recente » Cod sursa (job #2717300) | Cod sursa (job #1101251) | Cod sursa (job #2841945) | Cod sursa (job #1895666) | Cod sursa (job #46537)
Cod sursa(job #46537)
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;
r:=a2 mod b;
if(r<>0)then
x[a1,c+1]:=x[a1,c+1]or(1 shl r)
else
x[a1,c]:=x[a1,c]or(1 shl b);
c:=a1 div b;
r:=a1 mod b;
if(r<>0)then
x[a2,c+1]:=x[a2,c+1]or(1 shl r)
else
x[a2,c]:=x[a2,c]or(r shl b);
end;
close(f);
assign(g,'triplete.out');
rewrite(g);
writeln(g,triplete);
close(g);
end.