Pagini recente » Cod sursa (job #1820726) | Cod sursa (job #223112) | Cod sursa (job #418059) | Cod sursa (job #2836550) | Cod sursa (job #28303)
Cod sursa(job #28303)
const fff=4096;
ffk=fff div 16;
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..16] of longint;
list:array[1..mmm,1..2] of integer;
szam:array[0..255] of byte;
procedure ert(x,ho,mi:integer);
var se,os:integer;
begin
se:=ho div 16;
os:=(ho mod 16);
ad[x,se]:=ad[x,se]+kh[os];
end;
begin
kh[0]:=1;
for i:=1 to 15 do
kh[i]:=kh[i-1]*2;
for i:=0 to 255 do begin
k:=0;
l:=i;
for j:=0 to 15 do
k:=k+((L shr j) mod 2);
szam[i]:=k;
end;
assign(t,'triplete.in');
reset(T);
read(t,n,m);
ne:=(n div 16)-1;
if n mod 16>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
hany:=hany+szam[ad[0,l]];
end;
assign(t,'triplete.out');
rewrite(t);
writeln(t,hany div 3);
close(T);
end.