Pagini recente » Cod sursa (job #1947974) | Cod sursa (job #2131811) | Cod sursa (job #2745137) | Cod sursa (job #582887) | Cod sursa (job #1147273)
program p1;
var a,b:array[0..1000] of longint;
panta:array[0..1000000] of real;
sol:array[0..1000000] of longint;
f,g:text;
b1,b2:array[0..1 shl 17 ] of char;
i,n,j,k,u,aux:longint;
aux1:real;
procedure Sort(l, r: longint);
var
i, j: longint;
x,y:real;
begin
i := l; j := r; x := panta[(l+r) DIV 2];
repeat
while panta[i] < x do i := i + 1;
while x < panta[j] do j := j - 1;
if i <= j then
begin
y := panta[i]; panta[i] := panta[j]; panta[j] := y;
i := i + 1; j := j - 1;
end;
until i > j;
if l < j then Sort(l, j);
if i < r then Sort(i, r);
end;
begin
assign(f,'trapez.in');reset(F);settextbuf(f,b1);
assign(g,'trapez.out');rewrite(G);settextbuf(g,b2);
readln(f,n);
for i:=1 to n do begin
readln(f,a[i],b[i]);
if i>=2 then
for j:=1 to i-1 do begin
if (a[i]-a[j]) = 0 then begin
inc(U);
panta[u]:=23131231313;
end
else begin
inc(U);
panta[u]:=((b[i]-b[j])/(a[i]-a[j]));
end;
end;
end;
sort(1,u);
{for i:=1 to u-1 do
for j:=i+1 to u do
if panta[i]<panta[j] then begin
aux1:=panta[i];
panta[i]:=panta[j];
panta[j]:=aux1;
end; }
for i:=1 to u do
if panta[i]=panta[i+1] then begin
sol[i]:=sol[i-1]+1;
k:=k+sol[i];
end;
writeln(G,k);
close(F);
close(G);
end.