poj 1066
来源:互联网 发布:js垂直轮播广告幻灯片 编辑:程序博客网 时间:2024/05/29 03:41
判读线段相交。。又是一道练手题。。
不过判断线段相交那里<=EPS会WA,<=-EPS就会AC
简直无法直视了。。。
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<vector>#include<queue>#include<algorithm>using namespace std;const double EPS=1e-11;double add(double a,double b){ if(abs(a+b)<EPS*(abs(a)+abs(b))) return 0; return a+b;}struct P{ double x,y; P(){} P(double x,double y):x(x),y(y){ } P operator +(P p){ return P(add(x,p.x),add(y,p.y)); } P operator -(P p){ return P(add(x,-p.x),add(y,-p.y)); } P operator *(double d){ return P(x*d,y*d); } double det(P p){ return add(x*p.y,-y*p.x); } double dot(P p){ return add(x*p.x,y*p.y); }};P q[100005],p[100005],r[100];int ans[1000005];bool judge(int a,int b){ if(((q[b]-r[0]).det(r[a]-r[0])*(p[b]-r[0]).det(r[a]-r[0]))<=-EPS) { if(((r[0]-q[b]).det(p[b]-q[b])*(r[a]-q[b]).det(p[b]-q[b]))<=-EPS) return 1; return 0; } return 0;}int main(){ int n; while(~scanf("%d",&n)) { for(int i=0;i<n;i++) scanf("%lf%lf%lf%lf",&q[i].x,&q[i].y,&p[i].x,&p[i].y); scanf("%lf%lf",&r[0].x,&r[0].y); if(n==0) { printf("Number of doors = 1\n"); continue; }int l=1;for(double i=1.0;i<=99.0;i++){ for(int j=0;j<n;j++) { r[l].x=0.0; r[l].y=i; l++; r[l].x=100.0; r[l].y=i; l++; r[l].y=0.0; r[l].x=i; l++; r[l].y=100.0; r[l].x=i; l++; }} int mn=100000; for(int i=1;i<l;i++) { int ans=0; for(int j=0;j<n;j++) { if(judge(i,j)) ans++; } if(ans<mn) mn=ans; } printf("Number of doors = %d\n",mn+1); } return 0;}
0 0
- poj 1066
- poj 1066
- poj 1066
- poj 1066
- poj 1066
- poj 1066
- poj 1066 Treasure Hunt
- POJ 1066 Treasure Hunt
- POJ 1066 Treasure Hunt
- POJ 1066 Treasure Hunt
- poj 1066 Treasure Hunt
- POJ 1066 线段相交
- POJ 1066 Treasure Hunt
- poj 1066 Treasure Hunt
- POJ 1066 Treasure Hunt
- poj 1066 Treasure Hunt
- POJ 1066 Treasure Hunt
- poj 1066 Treasure Hunt
- 珍珠
- (基于Java)算法之二分搜索法
- TCP协议疑难杂症全景解析
- c++学习日记之类和动态内存分配
- 黑马程序员----多线程
- poj 1066
- 给DataTable、DataRow 自定义赋值
- 获取db2数据库得大小
- lucene索引结构(三)-词项向量(TermVector)索引文件结构分析
- C++库常用函数一览
- Android 短彩信数据模型介绍
- table边框
- windows中使用Git工具连接GitHub(配置篇)
- Parentheses Balance(括号匹配)--栈