Jack Straws(poj 1127) 两直线是否相交模板
Description
Input
When n=0,the input is terminated.
There will be no illegal input and there are no zero-length straws.
Output
Sample Input
- 7
- 1 6 3 3
- 4 6 4 9
- 4 5 6 7
- 1 4 3 5
- 3 5 5 5
- 5 2 6 3
- 5 4 7 2
- 1 4
- 1 6
- 3 3
- 6 7
- 2 3
- 1 3
- 0 0
- 2
- 0 2 0 0
- 0 0 0 1
- 1 1
- 2 2
- 1 2
- 0 0
- 0
Sample Output
- CONNECTED
- NOT CONNECTED
- CONNECTED
- CONNECTED
- NOT CONNECTED
- CONNECTED
- CONNECTED
- CONNECTED
- CONNECTED
- 给你 n 个木棍, 每根木棍 4 个坐标, 给你两个编号, 问这两个编号的木棍是否相交(可以间接相交)
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #include<algorithm>
- using namespace std;
- #define N 20
- const double eps=1e-;
- struct Point
- {
- int x, y;
- };
- struct node
- {
- Point a;
- Point b;
- }P[N];
- int G[N][N], n;
- /**--------- 判断两线段相交 模板 ------------**/
- int Judge(int x, int y)
- {
- Point a, b, c, d;
- a = P[x].a, b = P[x].b;
- c = P[y].a, d = P[y].b;
- 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 ;
- 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;
- }
- void Slove()
- {
- int i, j, k;
- for(i=; i<=n; i++)
- for(j=i+; j<=n; j++)
- {
- if(Judge(i, j))
- G[i][j] = G[j][i] = ;
- }
- for(k=; k<=n; k++)
- for(i=; i<=n; i++)
- for(j=; j<=n; j++)
- {
- if(G[i][k] && G[k][j])
- G[i][j] = ;
- }
- }
- int main()
- {
- while(scanf("%d", &n), n)
- {
- int i, u, v;
- for(i=; i<=n; i++)
- scanf("%d%d%d%d", &P[i].a.x, &P[i].a.y, &P[i].b.x, &P[i].b.y);
- memset(G, , sizeof(G));
- Slove();
- while(scanf("%d%d", &u, &v), u+v)
- {
- if(G[u][v] || u==v) printf("CONNECTED\n");
- else printf("NOT CONNECTED \n");
- }
- }
- return ;
- }
Jack Straws(poj 1127) 两直线是否相交模板的更多相关文章
- Jack Straws(POJ 1127)
原题如下: Jack Straws Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5555 Accepted: 2536 ...
- Jack Straws POJ - 1127 (简单几何计算 + 并查集)
In the game of Jack Straws, a number of plastic or wooden "straws" are dumped on the table ...
- Jack Straws POJ - 1127 (几何计算)
Jack Straws Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5428 Accepted: 2461 Descr ...
- poj 1127:Jack Straws(判断两线段相交 + 并查集)
Jack Straws Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 2911 Accepted: 1322 Descr ...
- poj 1127(直线相交+并查集)
Jack Straws Description In the game of Jack Straws, a number of plastic or wooden "straws" ...
- poj 1127 -- Jack Straws(计算几何判断两线段相交 + 并查集)
Jack Straws In the game of Jack Straws, a number of plastic or wooden "straws" are dumped ...
- TOJ1840: Jack Straws 判断两线段相交+并查集
1840: Jack Straws Time Limit(Common/Java):1000MS/10000MS Memory Limit:65536KByteTotal Submit: 1 ...
- POJ - 1127 Jack Straws(几何)
题意:桌子上放着n根木棍,已知木棍两端的坐标.给定几对木棍,判断每对木棍是否相连.当两根木棍之间有公共点或可以通过相连的木棍间接的连在一起,则认为是相连的. 分析: 1.若线段i与j平行,且有部分重合 ...
- poj1127 Jack Straws(线段相交+并查集)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Jack Straws Time Limit: 1000MS Memory L ...
随机推荐
- B+树与B-树
前面已经介绍过B-树,接下来,我们主要介绍一下B+树. 1.B+树的概念 B+树是应文件系统所需而生的一种B-树和变形树.一棵m阶B+树和m阶的B-树的差异在于: (1)有n棵子树的结点中含有n个关键 ...
- hdu 1757 (矩阵快速幂) 一个简单的问题 一个简单的开始
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1757 题意不难理解,当x小于10的时候,数列f(x)=x,当x大于等于10的时候f(x) = a0 * ...
- IDEA 的主题设置
1.主题设置(Appearance& Behavior) 补充1:设置编辑区的主题 (1)IDEA提供了两个编辑区的主题,如下所示 (2)如果想要更多的主题效果,可以到 http://www. ...
- nodejs 数字字节转换操作
function number2Bytes(i) { var arr = new Int32Array(1); arr[0] = 0; var buf = Buffer.from(arr.buffer ...
- 20180613更新 leetcode刷题
最近就是忙工作项目 工作间隙就刷了刷LEETCODE 所以没啥更新 // 1111111.cpp: 定义控制台应用程序的入口点. // #include "stdafx.h" #i ...
- PHP连接SQLServer2012两例
首先放上 PHP连接SQLServer的驱动下载地址 http://php.net/manual/zh/ref.pdo-sqlsrv.php 另外PHP for IIS管理工具 大家可以自己搜索一下 ...
- OneZero第三周第二次站立会议(2016.4.5)
1. 时间: 13:00--13:15 共计15分钟. 2. 成员: X 夏一鸣 * 组长 (博客:http://www.cnblogs.com/xiaym896/), G 郭又铭 (博客:http ...
- 【Linux】DNS服务-BIND基础配置(二)
BIND简介 现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写,现在最新的版本是9,有ISC(Internet ...
- java.lang.SuppressWarnings的注解简介
简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一.可以标注在类.字段.方法.参数.构造方法,以及局部变量上.作用:告诉编译器忽略指定的警告, ...
- tomcat7 安装 windows 服务
tomcat 可以安装成windows 服务,这样 每次启动就不需要启动tomcat了. 具体配置: 1.修改 service.bat 在行首添加 set "JAVA_HOME=E:\jdk ...