题意
按顺时针或逆时针顺序给你一个多边形的顶点,问一条线与多边形相交截得的线一共有多长
思路
可以通过计算几何的叉乘以及方向标记来判断截得的线的长度和方向,标记方向时根据一条边两顶点与直线上一点的叉乘的符合的差来标记,只有前缀和不为0时这条线段才在多边形内,另外长度可以先算出与给定的直线上的两点的距离的比值,最后乘以直线上向量的模
代码
#include <cstdio>
#include <queue>
#include <cmath>
using namespace std;
#define eps 1e-5
double x[1001],y[1001];