**链接:****传送门 **

题意:

思路:数据量很小,直接暴力所有线段


  1. /*************************************************************************
  2. > File Name: hdu2150.cpp
  3. > Author: WArobot
  4. > Blog: http://www.cnblogs.com/WArobot/
  5. > Created Time: 2017年05月07日 星期日 23时09分58秒
  6. ************************************************************************/
  7. #include<bits/stdc++.h>
  8. using namespace std;
  9. #define eps 1e-10
  10. struct point{ double x,y; };
  11. bool inter(point a,point b,point c,point d){
  12. if( min(a.x,b.x) > max(c.x,d.x) ||
  13. min(a.y,b.y) > max(c.y,d.y) ||
  14. min(c.x,d.x) > max(a.x,b.x) ||
  15. min(c.y,d.y) > max(a.y,b.y) ) return 0;
  16. double h , i , j , k;
  17. h = (b.x - a.x)*(c.y - a.y) - (b.y - a.y)*(c.x - a.x);
  18. i = (b.x - a.x)*(d.y - a.y) - (b.y - a.y)*(d.x - a.x);
  19. j = (d.x - c.x)*(a.y - c.y) - (d.y - c.y)*(a.x - c.x);
  20. k = (d.x - c.x)*(b.y - c.y) - (d.y - c.y)*(b.x - c.x);
  21. return h*i<=eps && j*k<=eps;
  22. }
  23. int main(){
  24. int N,num[31];
  25. point pi[31][101];
  26. while(~scanf("%d",&N)){
  27. for(int i=0;i<N;i++){
  28. scanf("%d",&num[i]);
  29. for(int j=0;j<num[i];j++){
  30. scanf("%lf%lf",&pi[i][j].x,&pi[i][j].y);
  31. }
  32. }
  33. bool ok = false;
  34. for(int i=0;i<N;i++){
  35. for(int j=i+1;j<N;j++){
  36. for(int k=0;k<num[i]-1;k++){
  37. for(int s=0;s<num[j]-1;s++){
  38. if( inter(pi[i][k],pi[i][k+1],pi[j][s],pi[j][s+1])){
  39. ok = true; break;
  40. }
  41. }
  42. }
  43. }
  44. }
  45. if(ok) printf("Yes\n");
  46. else printf("No\n");
  47. }
  48. return 0;
  49. }

HDU 2150 Pipe( 判断线段相交水 )的更多相关文章

  1. hdu 1086(判断线段相交)

    传送门:You can Solve a Geometry Problem too 题意:给n条线段,判断相交的点数. 分析:判断线段相交模板题,快速排斥实验原理就是每条线段代表的向量和该线段的一个端点 ...

  2. HDU 6590 Code (判断凸包相交)

    2019 杭电多校 1 1013 题目链接:HDU 6590 比赛链接:2019 Multi-University Training Contest 1 Problem Description Aft ...

  3. 还记得高中的向量吗?leetcode 335. Self Crossing(判断线段相交)

    传统解法 题目来自 leetcode 335. Self Crossing. 题意非常简单,有一个点,一开始位于 (0, 0) 位置,然后有规律地往上,左,下,右方向移动一定的距离,判断是否会相交(s ...

  4. 【POJ 2653】Pick-up sticks 判断线段相交

    一定要注意位运算的优先级!!!我被这个卡了好久 判断线段相交模板题. 叉积,点积,规范相交,非规范相交的简单模板 用了“链表”优化之后还是$O(n^2)$的暴力,可是为什么能过$10^5$的数据? # ...

  5. HDU 4606 Occupy Cities ★(线段相交+二分+Floyd+最小路径覆盖)

    题意 有n个城市,m个边界线,p名士兵.现在士兵要按一定顺序攻占城市,但从一个城市到另一个城市的过程中不能穿过边界线.士兵有一个容量为K的背包装粮食,士兵到达一个城市可以选择攻占城市或者只是路过,如果 ...

  6. POJ 2653 Pick-up sticks(判断线段相交)

    Pick-up sticks Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 7699   Accepted: 2843 De ...

  7. 判断线段相交(hdu1558 Segment set 线段相交+并查集)

    先说一下题目大意:给定一些线段,这些线段顺序编号,这时候如果两条线段相交,则把他们加入到一个集合中,问给定一个线段序号,求在此集合中有多少条线段. 这个题的难度在于怎么判断线段相交,判断玩相交之后就是 ...

  8. POJ_1066_Treasure Hunt_判断线段相交

    POJ_1066_Treasure Hunt_判断线段相交 Description Archeologists from the Antiquities and Curios Museum (ACM) ...

  9. POJ_2653_Pick-up sticks_判断线段相交

    POJ_2653_Pick-up sticks_判断线段相交 Description Stan has n sticks of various length. He throws them one a ...

随机推荐

  1. C语言提高 (6) 第六天 文件(续) 链表的操作

    1昨日回顾 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include &l ...

  2. Vue学习之路第十二篇:为页面元素设置内联样式

    1.有了上一篇的基础,接下来理解内联样式的设置会更简单一点,先看正常的css内联样式: <dvi id="app"> <p style="font-si ...

  3. 使用shell脚本定时执行备份mysql数据库

    使用shell脚本定时执行备份mysql数据库 #!/bin/bash ############### common file ################ #本机备份文件存放目录 MYSQLBA ...

  4. MySQL数据库中字段类型为tinyint,读取出来为true/false的问题

    由于MySQL中没有boolean类型,所以会用到tinyint类型来表示. 数据库一个表中有一个tinyint类型的字段,值为0或者1,如果取出来的话,0会变成false,1会变成true.

  5. /etc/default/useradd文件内容及对应功能

    1.GROUP=100 #依赖于/etc/login.defs的USE RGRUUPS_ENAB参数,如果为no,则在此处控制 2.HOME=/home #把用户的家路径健在/home中 3.INAC ...

  6. 2018 MAC下安装Redis和Redis可视化工具RDM并连接Redis

    实验环境:一台mac V:10.13.6 一.安装redis brew install redis 二.安装RDM 直接下载安装rdm dmg文件 链接: https://pan.baidu.com/ ...

  7. Python中的全局变量与局部变量的区别

    全局变量与局部变量两者的本质区别就是在于作用域 用通俗的话来理解的话, 全局变量是在整个py文件中声明,全局范围内都可以访问 局部变量是在某个函数中声明的,只能在该函数中调用它,如果试图在超出范围的地 ...

  8. C#实现简单的串口通信

    前言 本着学习研究的态度,用c#语言实现简单的串口通信工具. 一.串口通信原理 串口通信 串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节.尽管比 ...

  9. Elasticsearch---基于scroll技术滚动搜索大量数据

    如果一次性要查出来比如10万条数据,那么性能会很差,此时一般会采取用scoll滚动查询,一批一批的查,直到所有数据都查询完处理完 使用scoll滚动搜索,可以先搜索一批数据,然后下次再搜索一批数据,以 ...

  10. BIRT报表Cannot open the connection for the driver:org.eclipse.birt.report.data.oda.jdbc.dbprofile

    现象:报表不能打开: 找了半个小时,随手改了一下tomcat/conf文件夹下的context.xml文件 <Context xmlBlockExternal="false" ...