From 4beb69ee8aa575cd5715726058397750678e8219 Mon Sep 17 00:00:00 2001 From: ljcjames Date: Thu, 11 Aug 2022 22:29:33 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 8.10/C - edge.cpp | 105 ++++++++++++++++++++++++++++++++++++++++++++++ 8.10/ce1.cpp | 31 ++++++++++++++ 8.10/ce2.cpp | 19 +++++++++ 3 files changed, 155 insertions(+) create mode 100644 8.10/C - edge.cpp create mode 100644 8.10/ce1.cpp create mode 100644 8.10/ce2.cpp diff --git a/8.10/C - edge.cpp b/8.10/C - edge.cpp new file mode 100644 index 0000000..7c44ef2 --- /dev/null +++ b/8.10/C - edge.cpp @@ -0,0 +1,105 @@ +//weiwancheng +#include +#include +#include +#include +using namespace std; +const double inf=1e100,EPS=1e-6; +const int N=101; +double l,now; +int n; +struct edge +{ + double x[2],y[2]; +} e[N]; +//big bug:double->int +double length(double x1,double y1,double x2,double y2) +{ + double x=x1-x2,y=y1-y2; + return sqrt(x*x+y*y); +} +double cross(double x1,double y1,double x2,double y2) +{ + return x1*y2-x2*y1; +} +double same(double x0,double y0,double x3,double y3,double x1,double y1,double x2,double y2) +{ + double x=x3-x0,y=y3-y0;//y0->x0 + return cross(x,y,x1-x0,y1-y0)*cross(x,y,x2-x0,y2-y0); +} +//WA double 判断正负要用 +int sign(double d) +{ + if(fabs(d)0? 1:-1; +} +bool ob(int li,int lj,int ri,int rj) +{ + for(int i=li+1; i