现在的位置: 首页 > 综合 > 正文

ZJUT1051 到直线的最长距离

2013年02月05日 ⁄ 综合 ⁄ 共 460字 ⁄ 字号 评论关闭

Problem Address:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1051

 

简单题。

 

捡了一个公式:

S△=1/2 * |(x2-x1)(y3-y1)-(x3-x1)(y2-y1)|

 

贴代码:

 

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
 int x1,y1,x2,y2,x3,y3;
 scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
 double d2=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
 double d=0.0,h;
 while(scanf("%d %d", &x3, &y3)!=EOF)
 {
  h = (x2-x1)*(y3-y1)-(x3-x1)*(y2-y1);
  if (h<0) h = -h;
  h = double(h)/ (double)d2;
  if (h>d) d=h;
 }
 printf("%.3f/n", d);
 return 0;
}

抱歉!评论已关闭.