Pagini recente » Cod sursa (job #314907) | Cod sursa (job #1728491) | Cod sursa (job #2476803) | Cod sursa (job #2141451) | Cod sursa (job #28271)
Cod sursa(job #28271)
const fff=4096;
ffk=fff div 31;
mmm=70000;
var t:text;
ad:array[0..fff,0..ffk] of longint;
hany:longint;
i,j,k,l,m,n,ne,u:longint;
kh:array[0..31] of longint;
list:array[1..mmm,1..2] of integer;
procedure ert(x,ho,mi:integer);
var se,os:integer;
begin
se:=ho div 31;
os:=(ho mod 31);
ad[x,se]:=ad[x,se]+kh[os];
end;
begin
kh[0]:=1;
for i:=1 to 30 do
kh[i]:=kh[i-1]*2;
assign(t,'triplete.in');
reset(T);
read(t,n,m);
ne:=(n div 31)-1;
if n mod 31>0 then ne:=ne+1;
for i:=1 to n do for j:=1 to ne do ad[i,j]:=0;
for i:=1 to m do begin
read(t,j,k);
ert(j,k,1);
ert(k,j,1);
list[i,1]:=j;
list[i,2]:=k;
end;
close(T);
hany:=0;
for i:=1 to m do begin
j:=list[i,1];
k:=list[i,2];
for l:=0 to ne do
ad[0,l]:=ad[j,l] and ad[k,l];
for l:=0 to ne do
for u:=0 to 15 do
hany:=hany+(ad[0,l] shr u) mod 2;
end;
assign(t,'triplete.out');
rewrite(t);
writeln(t,hany div 3);
close(T);
end.