哎~操蛋的计算几何。。= =poj3304Segments
来源:互联网 发布:知乎怎样添加话题 编辑:程序博客网 时间:2024/05/21 10:33
其实吧~做这道题目的经历很简单,就是这道题目看上去比较简单,然后,不知道做,然后,就上网搜阶梯报告,然后操蛋的发现解题报告也不对,然后脸都绿了,还是
zhangji学长善良~~啦啦啦
#include<iostream>#include<cstring>#include<cstdio>#include<cmath>using namespace std;#define eps 1e-8int i,n;struct Point{ double x,y;};struct Line{ Point a,b;}line[110];double length(Point a,Point b){ return sqrt( (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y) );}double multi(Point p0,Point p1,Point p2){ return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y);}int judge(Point a,Point b){ if(length(a,b)<eps) { return 0; } else { for(i=0;i<n;i++) { if(multi(a,b,line[i].a)*multi(a,b,line[i].b)>eps) return 0; } } return 1;}int main(){ int t,j; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=0;i<n;i++) { scanf("%lf%lf%lf%lf",&line[i].a.x,&line[i].a.y,&line[i].b.x,&line[i].b.y); } int ans=0; for(int i=0;i<n&&!ans;i++){ if(judge(line[i].a,line[i].b))ans=1; for(int j=i+1;j<n&&!ans;j++){ if(judge(line[i].a,line[j].a))ans=1; if(judge(line[i].a,line[j].b))ans=1; if(judge(line[i].b,line[j].a))ans=1; if(judge(line[i].b,line[j].b))ans=1; } } if(ans) printf("Yes!\n"); else printf("No!\n"); } return 0;}这道题目的转化好难。。= =简单的来说就是这样子的,n条直线的投影的相交处引出来的垂直的直线必然与所有的线段都相交。然后,将这条线段进行平行处理,必然会与端点相交。感觉这根本不是我能做的题目。。还是挺模糊的。不过有个知识点就是直线与线段相交的判定,其实直线与线段相交和线段与线段相交一样都是很普通的东西。。= =直线跟线段泥萌表打我
0 0
- 哎~操蛋的计算几何。。= =poj3304Segments
- poj3304Segments+计算几何(二维几何模板)
- poj3304Segments
- 基本的计算几何
- 计算几何的题目
- 计算几何的模板
- 计算几何的学习
- 操蛋的CSDN
- 操蛋的Bug
- 操蛋的项目
- 计算几何的常用算法
- 计算几何的常用算法
- 计算几何的基础知识 - 概述
- 计算几何的中途总结
- 计算几何的一些代码。。。
- 计算几何的一些模版
- poj1269 简单的计算几何
- 计算几何-多边形的重心
- HDU-2565-放大的X
- linux实用命令详解(新建删除复制文件夹,挂载)
- SICA手机pos机提醒家长千万提防招生骗局
- 一种超级快速的图像二值化方法
- 引入极线约束的surf特征匹配
- 哎~操蛋的计算几何。。= =poj3304Segments
- Convert Sorted List to Binary Search Tree Java
- hdu4901 多校4 1005
- HTML兼容性处理
- Spring 注解入门
- uva 10759 Dice Throwing
- SICA手机pos机揭露远程遥控的骗子
- HTML表格标记——table
- DNR'4S免疫激活术是什么?