⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ac1348.pas

📁 uralcode
💻 PAS
字号:
program ural1348;
var
  xa,ya,xb,yb,xc,yc,l:longint;
  da,db,d:real;
function dot(x0,y0,x1,y1,x2,y2:longint):longint;
  begin
    dec(x1,x0);dec(y1,y0);
    dec(x2,x0);dec(y2,y0);
    dot:=x1*x2+y1*y2;
  end;
function cross(x0,y0,x1,y1,x2,y2:longint):longint;
  begin
    dec(x1,x0);dec(y1,y0);
    dec(x2,x0);dec(y2,y0);
    cross:=x1*y2-x2*y1;
  end;
begin
  read(xa,ya,xb,yb,xc,yc,l);
  da:=sqrt(sqr(xa-xc)+sqr(ya-yc));
  db:=sqrt(sqr(xb-xc)+sqr(yb-yc));
  if (dot(xa,ya,xb,yb,xc,yc)>0) and (dot(xb,yb,xa,ya,xc,yc)>0) then
    d:=abs(cross(xc,yc,xa,ya,xb,yb))/sqrt(sqr(xa-xb)+sqr(ya-yb))
  else
    if da<db then d:=da else d:=db;
  if d>l then writeln(d-l:0:2) else writeln('0.00');
  if da>db then d:=da else d:=db;
  if d>l then writeln(d-l:0:2) else writeln('0.00');
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -