Pagini recente » Cod sursa (job #1018350) | Cod sursa (job #1643674) | Cod sursa (job #1007932) | Cod sursa (job #1650899) | Cod sursa (job #761509)
Cod sursa(job #761509)
Program triplete;
type tip=record
x,y:longint;
end;
var bit:array [1..4100,1..210] of longint;
a:array [1..1 shl 16] of tip;
b1:array [1..1 shl 17] of char;
n,m,i,x,y,aux,rez,j,nr:longint;
fi,fo:text;
begin
assign(fi,'triplete.in');
assign(fo,'triplete.out');
settextbuf(fi,b1);
reset(fi); rewrite(fo); readln(fi,n,m);
for i:=1 to m do begin
readln(fi,a[i].x,a[i].y);
if a[i].y<a[i].x then begin aux:=a[i].x; a[i].x:=a[i].y; a[i].y:=aux; end;
if a[i].y mod 20=0 then bit[a[i].x,a[i].y div 20]:=bit[a[i].x,a[i].y div 20]+1 shl 19
else bit[a[i].x,a[i].y div 20+1]:=bit[a[i].x,a[i].y div 20+1]+1 shl (a[i].y mod 20-1);
end;
for i:=1 to m do
for j:=1 to n div 20+1 do begin
nr:=bit[a[i].x,j] and bit[a[i].y,j];
while nr>0 do begin
if nr and 1=1 then inc(rez);
nr:=nr shr 1;
end;
end;
write(fo,rez);
close(fo);
end.