問題一覧 > 通常問題

No.199 星を描こう

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 120
作問者 : nmnmnmnmnmnmnmnmnmnmnmnmnmnm
3 ProblemId : 433 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2015-11-14 17:48:29

問題文

XY座標上の点が5つ与えられる。点を線で繋いで星が描けるかどうか判定せよ。

※星の定義を図で説明します。
(A)はきれいな星になっていますね。
(B)は赤の矢印で示した部分が出ていないので星ではありません。
(C)はかなり歪んでいますが星です。
シルエットにしたとき5つのとんがりが無いとダメという認識でお願いします。

入力

$X_1$ $Y_1$
$X_2$ $Y_2$
$X_3$ $Y_3$
$X_4$ $Y_4$
$X_5$ $Y_5$

($X_i$,$Y_I$)は$i$番目の座標。$X_i$、$Y_i$は整数。$-1000 \le X_i,Y_i \le 1000$。
与えられる座標は必ず5つで同じものは2つ無い。
与えられる5つの座標の順番に意味はありません。

出力

星が描けるなら"YES"、描けないなら"NO"を1行で出力せよ。
最後に改行を忘れずに。

サンプル

サンプル1
入力
0 1
-1 0
1 0
-1 -1
1 -1
出力
YES

(0,1)→(1,-1)→(-2,0)→(2,0)→(-1,-1)→(0,1)の順で線を繋ぎます。
すると星を描けます。

サンプル2
入力
0 0
-1 0
1 0
-1 -1
1 -1
出力
NO

問題文中の図(B)のようになります。星は描けません。

サンプル3
入力
-10 10
10 10
0 0
-10 -10
10 -10
出力
NO

どの順番で点を線で繋いでも星は描けません。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。