結果
問題 |
No.3154 convex polygon judge
|
ユーザー |
![]() |
提出日時 | 2025-05-20 21:57:45 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 416 ms / 2,000 ms |
コード長 | 773 bytes |
コンパイル時間 | 173 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 93,888 KB |
最終ジャッジ日時 | 2025-05-20 21:57:52 |
合計ジャッジ時間 | 5,392 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 44 |
ソースコード
import math def get_angle(pt): return math.atan2(pt[1], pt[0]) def sort_points_clockwise(points): center = (sum(x for x, y in points) / len(points), sum(y for x, y in points) / len(points)) return sorted(points, key=lambda point: -get_angle((point[0]-center[0], point[1]-center[1]))) points = [(985, 268), (112, 316), (998, 448), (1018, 453), (1279, 577), (1196, 477), (1161, 443), (986, 0), (830, 0), (983, 230), (998, 425), (998, 255)] N=int(input()) L=[] a=0 b=0 for i in range(N): x,y=map(int,input().split()) L.append((x,y)) h = sort_points_clockwise(L) result='Yes' for i in range(N): a,b,c=h[i%N],h[(i+1)%N],h[(i+2)%N] d,e=[b[0]-a[0],b[1]-a[1]],[c[0]-b[0],c[1]-b[1]] score=d[0]*e[1]-d[1]*e[0] if score>=0: result='No' print(result)