UVALive 3263 二維幾何基礎

2021-08-09 06:44:38 字數 1963 閱讀 8350

給一筆畫的n個點,問一筆畫能分出多少塊圖形

用尤拉定理,頂點數+面數-邊數=2。頂點數把所有直線暴力兩兩相交,然後去重即可。列舉所有點,如果乙個點在一條直線上,並且這個點不是端點,那麼就一定是交點,這個交點把直線分成了兩部分。因此可以暴力列舉點,對於每條直線,每列舉到乙個交點,邊數++。

#include

#define up(i,l,h) for(int i=l;i#define down(i,h,l) for(int i=h-1;i>=l;i--)

#define w(t) while(t)

#define mem(a,b) memset(a,b,sizeof(a))

#define ll long long

#define inf 0x3f3f3f3f

#define eps 1e-10

#define maxn 1010

#define mod 1000000007

#define cout(x) coutnamespace

std;

double sqr(double x)

int sgn(double x)

struct point

friend point operator + (const point &a,const point &b)

friend point operator - (const point &a,const point &b)

friend point operator * (const point &a,const

double &b)

friend point operator / (const point &a,const

double &b)

friend point operator * (const

double &a,const point &b)

double norm()

friend

double det(const point &a,const point &b)

friend

double dot(const point &a,const point &b)

bool

operator

< (const point b)

bool

operator == (const point b)

};struct line

point vec()

double norm()

bool pointonline(const point &p)

bool pointonlineex(const point &p)

bool pointonseg(point p)

friend point linexline(line l1,line l2)

};bool parallel(line l1,line l2)

bool sameside(line l,point a,point b)

bool issegxseg(line l1,line l2) else

return

false;

}point points[510];

point vc[25010];

int main()

n--;

up(i,0,n) vc[i]=points[i];

int cnum=n;

up(i,0,n) }}

sort(vc,vc+cnum);

// up(i,0,cnum) cout(vc[i].x<<" "// cout(cnum);

// cout(e<<" "up(i,0,v) }}

printf("case %d: there are %d pieces.\n",ks++,e+2-v);

}}

二維幾何模板 二維幾何基礎

二維幾何模板 include include include include include include include include include using namespace std 二維幾何基礎 struct point typedef point vector const doub...

二維幾何基礎

模板 from 紫書 includeusing namespace std typedef long double ld const ld eps 1e 10 const ld pi acos ld 1.0 struct point typedef point vector vector opera...

二維幾何基礎

在幾何中,向量是乙個炒雞重要的東西,像空氣對於人,水對於魚 qaq 在這裡就不詳細介紹向量了,大家在高中數學中會學到,數學毒瘤,貌似資訊也是哈哈哈 下面是他們的常用定義 struct point 建構函式,方便 編寫 typedef point vector 從程式實現上,vector只是point...