atcoder#ABC266C. [ABC266C] Convex Quadrilateral

[ABC266C] Convex Quadrilateral

配点 : 300300

問題文

22 次元座標平面があります。xx 軸正方向を右向き、yy 軸正方向を上向きとします。

この平面上に自己交差のない四角形があります。 44 つの頂点の座標は反時計回りに (Ax,Ay),(Bx,By),(Cx,Cy),(Dx,Dy)(A_x,A_y),(B_x,B_y),(C_x,C_y),(D_x,D_y) です。

この四角形が凸であるか判定してください。

なお、四角形の 44 つの内角が全て 180180 度未満であるとき、かつ、その時に限り、その四角形は凸であるといいます。

制約

  • 100Ax,Ay,Bx,By,Cx,Cy,Dx,Dy100-100 \leq A_x,A_y,B_x,B_y,C_x,C_y,D_x,D_y \leq 100
  • 入力に含まれる値は全て整数である
  • 与えられる 44 点は四角形の 44 頂点を反時計回りに並べたものである
  • 与えられる 44 点のなす四角形は自己交差がなく退化していない。すなわち- どの 22 頂点も同じ座標にない
    • どの 33 頂点も同一直線上にない
    • 隣接しない 22 辺は共有点を持たない
  • どの 22 頂点も同じ座標にない
  • どの 33 頂点も同一直線上にない
  • 隣接しない 22 辺は共有点を持たない

入力

入力は以下の形式で標準入力から与えられる。

AxA_x AyA_y

BxB_x ByB_y

CxC_x CyC_y

DxD_x DyD_y

出力

与えられる四角形が凸なら Yes、凸でないなら No を出力せよ。

0 0
1 0
1 1
0 1
Yes

与えられた四角形は正方形であり、44 つの内角は全て 9090 度です。したがって、この四角形は凸です。

図

0 0
1 1
-1 0
1 -1
No

AA270270 度です。したがって、この四角形は凸ではありません。

図