POJ 1673 EXOCENTER OF A TRIANGLE
来源:互联网 发布:求数组最大值和最小值 编辑:程序博客网 时间:2024/05/01 16:53
这道题就是求点的时候麻烦了点,思路还是很简单的
刚开始把向量反向写成了swap(x,y),其实应该是x=-x,y=-y
#include<stdio.h>#include<math.h>#include<algorithm>using namespace std;const double eps=1e-8;struct Point { double x,y; Point(){} Point(double xx,double yy){x=xx;y=yy;} Point operator+(Point b){return Point(x+b.x,y+b.y);} double operator^(const Point b)const{ return x*b.y-y*b.x; } Point operator-(Point b){return Point(x-b.x,y-b.y);}};struct Line { Point s,e; Line(){}; Line(Point ss,Point ee){s=ss;e=ee;} Point operator &(Line b){ Point res=s; double t=((s-b.e)^(b.s-b.e))/((s-e)^(b.s-b.e)); res.x+=(e.x-s.x)*t; res.y+=(e.y-s.y)*t; return res; }};double xmul(Point p0,Point p1,Point p2){ return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);}double dist(Point a,Point b){ return sqrt((b.x-a.x)*(b.x-a.x)+(b.y-a.y)*(b.y-a.y));}Point getPoint(Point a,Point b,Point c){ Point q; q=Point(-(b.y-a.y),b.x-a.x); if(xmul(a,b,c)>eps) { q.x=-q.x; q.y=-q.y; } double d=dist(a,b); q.x*=d/sqrt(q.x*q.x+q.y*q.y); q.y*=d/sqrt(q.x*q.x+q.y*q.y); q.x=a.x+q.x; q.y=a.y+q.y; return q;}Point p[3];int main(){#ifndef ONLINE_JUDGEfreopen("in.txt","r",stdin);#endif // ONLINE_JUDGE int n; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%lf%lf%lf%lf%lf%lf",&p[0].x,&p[0].y,&p[1].x,&p[1].y,&p[2].x,&p[2].y); Point c,d,r,q; c=getPoint(p[0],p[1],p[2]); d=getPoint(p[0],p[2],p[1]); r=Point((c.x+d.x)/2,(c.y+d.y)/2); c=getPoint(p[1],p[2],p[0]); d=getPoint(p[1],p[0],p[2]); q=Point((c.x+d.x)/2,(c.y+d.y)/2); Point o; o=Line(p[0],r)&Line(p[1],q); printf("%.4f %.4f\n",o.x,o.y); } return 0;}
0 0
- POJ 1673 EXOCENTER OF A TRIANGLE
- POJ 1673 EXOCENTER OF A TRIANGLE
- poj 1673 EXOCENTER OF A TRIANGLE
- POJ 1673 EXOCENTER OF A TRIANGLE
- poj 1673 EXOCENTER OF A TRIANGLE
- zoj 1821 || poj 1673 Exocenter of a Triangle
- poj 1673(EXOCENTER OF A TRIANGLE) (垂心证明)
- pku 1673 EXOCENTER OF A TRIANGLE
- POJ1673-EXOCENTER OF A TRIANGLE
- poj 1673 EXOCENTER OF A TRIANGLE(求三角形垂心)
- POJ 1673 EXOCENTER OF A TRIANGLE(证明+求三角形垂心)
- POJ 1673 EXOCENTER OF A TRIANGLE(求三角形的垂心)
- poj 1673 EXOCENTER OF A TRIANGLE(求三角形垂心)
- PKU 1673 EXOCENTER OF A TRIANGLE 三角形的垂心
- Sicily 1059. Exocenter of a Triangle
- 1059. Exocenter of a Trian
- 1059. Exocenter of a Trian
- Sicily 1059. Exocenter of a Trian
- Git分布式代码版本控制
- firefox 浏览器安装adobe flash player
- POJ 2418 Hardwood Species(trie的串排序运用)
- 学习的另一种Servlet实现。
- IO流综合练习
- POJ 1673 EXOCENTER OF A TRIANGLE
- linux之ACL权限学习笔记
- NetworkManager 替代工具 wicd
- android开发之Service深入分析全解
- 一个人的地老天荒
- 存储过程访问其他用户表权限不足问题
- 使用WinDbg —— .NET篇 (一)
- python Debug 、IDE、编辑环境选择
- 微信支付nopermission to execute解决方法