寒假作業,shape of HDU

2022-09-10 23:00:26 字數 1333 閱讀 4404

這道題的話,我拿到題是有點懵圈的,如果要我自己判斷的話,我也要自己在紙上建立座標軸然後一一將點標出,後用肉眼判斷。這個用**實現嘛……

後來就只能參考大神們的演算法啦。

向量a=(x1,y1),b=(x2,y2);

向量的叉積a×b=x1*y2-x2*y1; 當a×b>0時,b在a的逆時針方向,當a×b=0時,b與a共線,當a×b<0時,b在a的順時針方向。 

對於連續輸入的三點a(x1,y1),b(x2,y2),c(x3,y3); 

根據凸多邊形的性質:向量ac(x3-x1,y3-y1)必定在向量ab(x2-x1,y2-y1)的逆時針方向,或者共線。

所以ab×ac>=0,即ans=(x2-x1)*(y3-y1)-(x3-x1)*(y2-y1)>=0。當出現ans<0時,即為凹多邊形。 

該題要判斷所有點嗎,如果只要有個點不成立,那麼該多邊形就是凹變形。如果該多邊形要是凸變形,那所有的點都要成立。

太強了。

1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 

9 #include 10 #include 11 #include 12 #include

13 #include14 #include15

using

namespace

std;

16 typedef long

long

ll;17

#define pi 3.14159265358979323846264338327

18#define e 2.71828182846

19#define inf 0x3f3f3f3f

20#define maxn 555555

21struct

node

22p[11000

];25

bool judge(int x1, int y1, int x2, int y2, int x3, int

y3)26

29int

main()

3048

if(flage)

49 printf("

conc**e\n");

50else

51 printf("

convex\n");

52}53return0;

54 }

寒假 作業2

大話物聯網 讀書心得 物聯網是繼計算機 網際網路與移動通訊之後的世界資訊產業的第三次浪潮。但是對於我這種連計算機都還不太懂的菜鳥新手和科技無知者來說,物聯網 三個字真的是乙個新興詞彙。在之前我連 物聯網 三個字好像都不太聽到過,更加不可能了解。殊不知我已經和這個世界如此的脫軌,已經被時代遠遠地落在了...

寒假作業9

1.請寫出網頁的基本標籤 作用和語法。basic tags 基 本 標 籤 creates an html document 創 建 一 個html 文 檔sets off the title and other information that isn t displayed on the web...

寒假作業4

今天所敲的 public class daang public class daang2 菜品名稱 double prices new double 菜品單價 int praisenums new int 3 點讚數 建立訂單物件 daang oset new daang 初始化兩條訂單 publi...