题目描述:http://poj.org/problem?id=1673[size=large][/size]
该题重点是求证点O 为△ABC的垂心
延长BO 交AC 与R, 先证OR⊥AC(其它AO⊥BC, CO⊥AB 同理)
见下图:
1) 绕点B 旋转△EBJ, 使BE 与 BA 重合,得△ABP, 则△EBJ≌△ABP
2) 因为∠ABC 与 ∠EBJ 互余,所以旋转后点P、B、C 共线,且点B 为PC 中点
3) 记AP 中点为Q,则BQ 为中位线,所以∠1 = ∠4
4) 又∠4 为∠3旋转得到,显然∠4 = ∠3,则∠1 = ∠3
5) 显然∠2 与∠3 互余(∠CBJ 为90°), 又∠1 = ∠3,所以∠2 与∠1 互余
所以OR⊥AC
证毕
该题重点是求证点O 为△ABC的垂心
延长BO 交AC 与R, 先证OR⊥AC(其它AO⊥BC, CO⊥AB 同理)
见下图:
1) 绕点B 旋转△EBJ, 使BE 与 BA 重合,得△ABP, 则△EBJ≌△ABP
2) 因为∠ABC 与 ∠EBJ 互余,所以旋转后点P、B、C 共线,且点B 为PC 中点
3) 记AP 中点为Q,则BQ 为中位线,所以∠1 = ∠4
4) 又∠4 为∠3旋转得到,显然∠4 = ∠3,则∠1 = ∠3
5) 显然∠2 与∠3 互余(∠CBJ 为90°), 又∠1 = ∠3,所以∠2 与∠1 互余
所以OR⊥AC
证毕
#include <cstdio> #include <cmath> #define eps 1e-8 struct point { double x, y; }; struct line { point a, b; }; //返回二阶行列式的值 double xmult(double a1, double a2, double b1, double b2) { return a1 * b2 - a2 * b1; } //返回线段的交点, 先确保两直线不共线(平行、重合) //先把直线表示成ax + by + c = 0 的形式 point intersection(line u, line v) { double a1, b1, c1, a2, b2, c2; a1 = u.b.y - u.a.y; b1 = u.a.x - u.b.x; c1 = u.b.x * u.a.y - u.a.x * u.b.y; a2 = v.b.y - v.a.y; b2 = v.a.x - v.b.x; c2 = v.b.x * v.a.y - v.a.x * v.b.y; //注意精度控制, 好像g++ 和 vc 的表现不同。c++(vc)能AC, g++ 就不行了 //不知道为什么, 请高人指点 point ret; ret.x = xmult(b1, b2, c1, c2) / xmult(a1, a2, b1, b2) + eps; ret.y = -1.0 * xmult(a1, a2, c1, c2) / xmult(a1, a2, b1, b2) + eps; return ret; } //返回两点间的距离 double distance(point p1, point p2) { return sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)); } //返回a, b, c 三点组成的三角形的垂心 //前提: a, b, c 三点不共线 point perpencenter(point a, point b, point c) { line u, v; u.a = c; u.b.x = u.a.x - a.y + b.y; u.b.y = u.a.y + a.x - b.x; v.a = b; v.b.x = v.a.x - a.y + c.y; v.b.y = v.a.y + a.x - c.x; return intersection(u, v); } int main() { int ncase; point a, b, c, ans; scanf("%d", &ncase); while (ncase--) { scanf("%lf %lf %lf %lf %lf %lf", &a.x, &a.y, &b.x, &b.y, &c.x, &c.y); ans = perpencenter(a, b, c); printf("%.4lf %.4lf\n", ans.x, ans.y); } return 0; }
发表评论
-
ACM 之 Java BigInteger
2011-06-01 20:26 0Java 的大整数类在ACM 中大有用武之地 ... -
判断点是否构成多边形, 顶点连续给出
2011-05-26 14:27 0#include <cstdio> #inc ... -
poj pku 1981 Circle and Points 点与圆 位置关系
2011-05-26 11:29 1264题目描述: http://poj.org/problem?id ... -
poj 1032 Parliament 数学
2011-05-25 17:34 1213题目描述: http://poj.org/problem?i ... -
poj 1385 Lifting the Stone 多边形重心
2011-05-25 11:13 1035题目描述: http://poj.org/problem?i ... -
poj 2676 Sudoku dfs 深搜
2011-05-16 21:05 875题目描述: http://poj.org/problem?i ... -
hdoj 2064 汉诺塔III 递推
2011-05-15 22:29 887题目描述: http://acm.hdu.edu.cn/sh ... -
hdoj 1207 汉诺塔II dp 动态规划
2011-05-15 21:22 1668题目描述: http://acm.hdu.edu.cn/sh ... -
poj 2506 Tiling 递推
2011-05-15 11:18 912题目描述: http://poj.org/problem?i ... -
poj 2420 A Star not a Tree? 多边形 费马点
2011-05-14 18:57 1799题目描述: http://poj.org/problem?i ... -
poj 2954 Triangle Pick 定理
2011-05-14 16:36 1086题目描述: http://poj.org/problem?i ... -
poj 1012 Joseph
2011-05-10 17:42 1235题目描述:poj.org/problem?id=10 ... -
zoj 1081 Points Within 点与多边形关系
2011-05-07 17:51 1135题目描述: http://acm.zju.edu.cn/on ... -
poj 1835 宇航员
2011-05-03 17:00 807题目描述:http://poj.org/problem?id ... -
poj 2398 Toy Storage
2011-04-23 20:19 718题目描述:http://www.poj.org/proble ... -
poj 1654 Area 多边形面积
2011-04-23 20:10 901题目描述:http://poj.org/proble ... -
poj 2318 TOYS 点 直线 位置关系
2011-04-23 10:06 670题目描述:http://poj.org/problem?id= ... -
pc 111303 uva 10195 The Knights Of The Round Table
2011-04-04 16:06 755题目描述:http://www.programming-cha ... -
pc 111302 uva 10180 Rope Crisis in Ropeland!
2011-04-03 20:46 839题目描述: http://www.programming-ch ... -
poj 1971 Parallelogram Counting 平行四边形个数
2011-04-03 10:05 1217题目描述:http://poj.org/problem?id= ...
相关推荐
ACM Poj Pku 解题报告答案 打包 下载 600多题 史上最全 不是网上乱传的200多题,更不是100多题就挂着10分才能下的题 下了这个 大家也不要浪费分数去下载其它版本的了,基本上都有 共享 一起进步 中国加油 ACMer...
1011,1012,1013,1014,1015,1017,1026,1028,1032,1035,1041,1046,1129 1149 1154 1165 1182 1185 1190 1191 1201 1251 1273 1275 1276 1286 1322 1338 1363 1364 1401 1456 1459 1564 1579 1637 1657 1658 ...
题目分类 目前网上最全的 PKU 的 网上所有的 分类总结 祝ACM 一路顺风
1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1011 1012 1013 1014 1015 1017 1018 1019 1028 1032 1035 1040 1042 1045 1046 1047 1050 1056 1061 1062 1063 1065 1067 1068 1080 1083 1088 1089 1091 1094 ...
很经典的图论,网络流入门的题目,值得一看啊~~其中有简单的解析
北大POJ1163-The Triangle 解题报告+AC代码
这是我个人写的POJ上2314题的Java实现,希望对喜欢ACM的人有帮助
北大POJ1163-The Triangle
PKU POJ 1162 Building with Blocks PKU POJ 1162 Building with Blocks PKU POJ 1162 Building with Blocks
acm pku poj 1000 1001 1002 1003 1201
用Java代码实现POJ(PKU)上题2494!
北大POJ2109-Power of Cryptography 解题报告+AC代码
poj经典动态规划题目解题报告,包括经典的动态规划题目20多道,可以作为学习动态规划系统的资料,包括题目: Pku acm 1179 Polygon Pku acm 1125 Stockbroker Grapevine Pku acm 1160 post office Pku ...
ACM PKU_poj 1197 仓库问题源代码,愿与大家共享。若谁更好的代码,多谢提供。
北大POJ2739-Sum of Consecutive Prime Numbers 解题报告+AC代码
POJ2942-Knights of the Round Table 【Tarjan算法】 解题报告+AC代码 http://hi.csdn.net/!s/F3L8HO ================================== 我的POJ所有解题报告:...
北大POJ3083-Children of the Candy Corn 解题报告+AC代码
北大POJ1942-Paths on a Grid 解题报告+AC代码
poj 3495 Bitwise XOR of Arithmetic Progression.md
poj 1353 Color Change of Go Game Pieces.md