【HDOJ】1086 You can Solve a Geometry Problem too
2014-04-03 09:48
260 查看
数学题,证明AB和CD。只需证明C、D在AB直线两侧,并且A、B在CD直线两侧。
公式为:(ABxAC)*(ABxAD)<= 0 and(CDxCA)*(CDxCB)<= 0
公式为:(ABxAC)*(ABxAD)<= 0 and(CDxCA)*(CDxCB)<= 0
#include <stdio.h> #define MAXNUM 105 typedef struct { double x1, y1; double x2, y2; } line_st; line_st lines[MAXNUM]; int cal(int i, int j) { double ab_x, ab_y, ac_x, ac_y, ad_x, ad_y; double a, b; ab_x = lines[i].x2 - lines[i].x1; ab_y = lines[i].y2 - lines[i].y1; ac_x = lines[j].x1 - lines[i].x1; ac_y = lines[j].y1 - lines[i].y1; ad_x = lines[j].x2 - lines[i].x1; ad_y = lines[j].y2 - lines[i].y1; a = ab_x*ac_y - ab_y*ac_x; b = ab_x*ad_y - ab_y*ad_x; if (a*b <= 0) return 1; else return 0; } int main() { int n; int i, j, k; while (scanf("%d", &n)!=EOF && n) { for (i=0; i<n; ++i) scanf("%lf%lf%lf%lf", &lines[i].x1,&lines[i].y1,&lines[i].x2,&lines[i].y2); k = 0; for (i=0; i<n; ++i) for (j=0; j<i; ++j) if (cal(i, j) && cal(j, i)) k++; printf("%d\n", k); } return 0; }
相关文章推荐
- hdoj1086 You can Solve a Geometry Problem too(数学几何题)
- hdu/hdoj 1086 You can Solve a Geometry Problem too
- you can Solve a Geometry Problem too(hdoj1086)
- HDOJ 1086 You can Solve a Geometry Problem too
- hdoj 1086 You can Solve a Geometry Problem too 【计算几何】
- HDOJ 1086 You can Solve a Geometry Problem too 线段相交问题
- You can Solve a Geometry Problem too—hdoj 1086(线段相交)
- hdoj 1086 You can Solve a Geometry Problem too (判断线段相交)
- hdoj1086 You can Solve a Geometry Problem too
- HDU 1086 You can Solve a Geometry Problem too(线段交点个数)
- hdu 1086 You can Solve a Geometry Problem too(计算几何水题)
- 杭电OJ——1086 You can Solve a Geometry Problem too
- HDU 1086 You can Solve a Geometry Problem too 判断任意两线段是否相交
- HDU 1086 You can Solve a Geometry Problem too(求线段交点数)
- HDU 1086 You can Solve a Geometry Problem too(计算几何)
- HDU-#1086 You can Solve a Geometry Problem too(线段相交判定)
- hdu 1086 You can Solve a Geometry Problem too
- hdu 1086:You can Solve a Geometry Problem too(计算几何,判断两线段相交,水题)
- HDU 1086 You can Solve a Geometry Problem too
- HDU 1086 You can Solve a Geometry Problem too 线段相交