POJ2653——Pick-up sticks
来源:互联网 发布:word文档归类软件 编辑:程序博客网 时间:2024/04/28 10:10
题目链接:http://poj.org/problem?id=2653
Pick-up sticks
题目大意:给你n条线段,依次放入平面直角坐标系中,先放的,如果与后面放的线段相交,则被压住,最后要你统计没被压住的线段的个数。
直接套线段相交的模板即可!!!
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std;const double eps=1e-10;struct point{ double x,y;}p[100010],q[100010];int vis[100010];bool inter(point a,point b,point c,point d){ if(min(a.x,b.x)>max(c.x,d.x)||min(a.y,b.y)>max(c.y,d.y)||min(c.x,d.x)>max(a.x,b.x)||min(c.y,d.y)>max(a.y,b.y)) return 0; double h,i,j,k; h=(b.x-a.x)*(c.y-a.y)-(b.y-a.y)*(c.x-a.x); i=(b.x-a.x)*(d.y-a.y)-(b.y-a.y)*(d.x-a.x); j=(d.x-c.x)*(a.y-c.y)-(d.y-c.y)*(a.x-c.x); k=(d.x-c.x)*(b.y-c.y)-(d.y-c.y)*(b.x-c.x); return h*i<=eps&&j*k<=eps;}int main(){ int n; while(scanf("%d",&n),n) { int i,j; memset(vis,0,sizeof(vis)); for(i=1;i<=n;i++) scanf("%lf%lf%lf%lf",&p[i].x,&p[i].y,&q[i].x,&q[i].y); for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) { if(inter(p[i],q[i],p[j],q[j])) { vis[i]=1; break; } } printf("Top sticks:"); for(i=1;i<=n;i++) if(!vis[i]) { printf(" %d",i); break; } for(i++;i<=n;i++) if(!vis[i]) printf(", %d",i); printf(".\n"); } return 0;}
0 0
- POJ2653——Pick-up sticks
- poj2653 - Pick-up sticks
- POJ2653 Pick-up sticks
- POJ2653-Pick-up sticks
- poj2653-Pick-up sticks
- poj2653 Pick-up sticks
- poj2653 Pick-up sticks
- poj2653 Pick-up sticks
- ACM-计算几何之Pick-up sticks——poj2653
- poj2653——Pick-up sticks(判断线段是否相交)
- POJ2653 Pick-up sticks —— 两线段相交(模板题)
- POJ2653 Pick-up sticks 判断线段相交
- poj2653-Pick-up sticks(线段相交问题)
- POJ2653 Pick-up sticks 线段相交
- [POJ2653]Pick-up sticks(计算几何)
- POJ2653 Pick-up sticks(计算几何)
- poj2653:Pick-up sticks(链表)
- POJ2653 Pick-up sticks(线段相交判断)
- Android 广播接收器BroadcastReceiver
- HDU:3333 Turing Tree (树状数组+离线处理+哈希+贪心)
- 通过实例来学习使用Linux KVM
- Struts2.3.14路由分析
- 安卓学习第二十二天:ProgressBar与SeekBar与RatingBar
- POJ2653——Pick-up sticks
- 字符串匹配的KMP算法
- 在servlet中通过servletcontext对象读取资源文件的模板代码
- 11g新特性:A useful View V$DIAG_INFO
- 2012年写的万年历
- Uva 10375
- Insertion-sort
- vs2005下载网页图片
- C++中的关键字 volatile 详解