auroral 2012-01-28 16:38:00
点我顶贴
收藏
删除
program ex80;
var
n,i,j,m,t:integer;
k,b:array[1..200] of longint;
x,y:array[1..10000] of extended;
pan:array[1..10000] of boolean;
begin
fillchar(pan,sizeof(pan),true);
readln(n);
for i:=1 to n do
readln(k[i],b[i]);
m:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
if k[i]-k[j]<>0 then
begin
inc(m);
x[m]:=(b[j]-b[i])/(k[i]-k[j]);
y[m]:=(k[i]*b[j]-k[j]*b[i])/(k[i]-k[j]);
end;
if m=0 then begin writeln('No Fire Point.'); halt; end;
for i:=1 to m-1 do
for j:=i+1 to m do
if (x[i]=x[j])and(y[i]=y[j]) then dec(m);
writeln(m);
end.
#2 zhouyi@2011-10-29 00:10:00
23308
回复
删除
自己做,别看别人的,别指望别人。要是这是考试咋办?自己做,不然就没意义了,那做它干吗?看别人,指望别人有啥好处?不就是个排名吗?我排名不高,但我诚实守信!!!!
#3 怡红公子@2012-01-28 16:38:00
24668
回复
删除
有误差
#define xs 0.00001
x1=(b[i]-b[j])/(k[j]-k[i]);
y1=(k[i]*x1+b[i]+k[j]*x1+b[j])/2;
for(l=1;l<=ans;l++)
if(x[l]-x1>=-xs&&x[l]-x1<=xs&&y[l]-y1<=xs&&y[l]-y1>=-xs)
return 1;