题目大意: n块玩具箱隔板 m个玩具落地点 给定玩具箱的左上和右下两个端点 接下来给定n块隔板的上点的x和下点的x(因为y就是玩具箱的上下边缘) 接下来给定m个玩具落地点 输出n+1个区域各有的玩具数量 只要判断一下玩具落地点对于n条直线的相对位置即可 当它位于某条直线的左侧时 说明它位于当前直线内的区域 #include <cstdio> #include <cmath> #include <string.h> #include <algorithm> u…
题目大意: t个测试用例 每次给出一对直线的两点 判断直线的相对关系 平行输出NODE 重合输出LINE 相交输出POINT和交点坐标 1.直线平行 两向量叉积为0 2.求两直线ab与cd交点 设直线ab上点为 a+(b-a)t,t为变量 交点需满足在直线cd上 则(d-c)*(a+t(b-a)-c)=0(外积) 分解为加减式 将t放在等号左边 其他放在右边 化简推导得t=(d-c)*(c-a)/(d-c)*(b-a) 则交点为a+(b-a)*((d-c)*(c-a)/(d-c)*(b-a))…
两条直线可能有三种关系:1.共线     2.平行(不包括共线)    3.相交. 那给定两条直线怎么判断他们的位置关系呢.还是用到向量的叉积 例题:POJ 1269 题意:这道题是给定四个点p1, p2, p3, p4,直线L1,L2分别穿过前两个和后两个点.来判断直线L1和L2的关系 这三种关系一个一个来看: 1. 共线. 如果两条直线共线的话,那么另外一条直线上的点一定在这一条直线上.所以p3在p1p2上,所以用get_direction(p1, p2, p3)来判断p3相对于p1p2的关…
题目大意: poj2318改个输出 输出 a: b 即有a个玩具的格子有b个 可以先看下poj2318的报告 用map就很方便 #include <cstdio> #include <cmath> #include <string.h> #include <algorithm> #include <map> using namespace std; ; +; double add(double a,double b) { ; return a+b…
题目链接 题意 判断两条直线的位置关系,重合/平行/相交(求交点). 直线以其上两点的形式给出(点坐标为整点). 思路 写出直线的一般式方程(用\(gcd\)化为最简), 计算\(\begin{vmatrix}a1&b1\\a2&b2\end{vmatrix}\), 若不为\(0\),则两直线有交点,\[x=\frac{\begin{vmatrix}-c1&b1\\-c2&b2\end{vmatrix}}{\begin{vmatrix}a1&b1\\a2&b…
题目链接:http://poj.org/problem?id=2318 题面: TOYS Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 17413   Accepted: 8300 Description Calculate the number of toys that land in each bin of a partitioned toy box. Mom and dad have a problem - the…
题目链接:http://poj.org/problem?id=1269 题意:给你两条直线上的任意不同的两点,然后求两条直线的位置关系,如果相交于一点输出该点坐标; #include<iostream> #include<algorithm> #include<math.h> #include<string.h> #include<stdio.h> #include<map> #include<vector> #inclu…
题目描述 判断一个点与已知三角形的位置关系. 输入输出格式 输入格式: 前三行:每行一个坐标,表示该三角形的三个顶点 第四行:一个点的坐标,试判断该点与前三个点围成三角形的位置关系 (详见样例) 所有坐标值均为整数. 输出格式: 若点在三角形内(不含边界),输出1: 若点在三角形外(不含边界),输出2: 若点在三角形边界上(不含顶点),输出3: 若点在三角形顶点上,输出4. 输入输出样例 输入样例#1: 复制 (0,0) (3,0) (0,3) (1,1) 输出样例#1: 复制 1 说明 [数据…
题目链接:http://poj.org/problem?id=1269 题面: Description We all know that a pair of distinct points on a plane defines a line and that a pair of lines on a plane will intersect in one of three ways: 1) no intersection because they are parallel, 2) interse…
题目大意: 询问给定n条线段 是否存在一条直线使得所有线段在直线上的投影存在公共点 这个问题可以转化为 是否存在一条直线与所有的线段同时相交 而枚举直线的问题 因为若存在符合要求的直线 那么必存在穿过某线段的端点的直线是符合要求的直线 那么只要枚举两个端点连成一线 #include <cstdio> #include <algorithm> #include <string.h> #include <cmath> using namespace std; ;…