結果
問題 | No.1265 Balloon Survival |
ユーザー | sotanishy |
提出日時 | 2020-10-23 22:26:36 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,305 ms / 2,000 ms |
コード長 | 545 bytes |
コンパイル時間 | 217 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 151,764 KB |
最終ジャッジ日時 | 2024-07-21 11:09:58 |
合計ジャッジ時間 | 16,750 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 32 |
ソースコード
import sys input = sys.stdin.readline def dist(a, b): return (a[0] - b[0])**2 + (a[1] - b[1])**2 N = int(input()) pts = [tuple(map(int, input().split())) for _ in range(N)] edges = [] for i in range(N - 1): for j in range(i + 1, N): edges.append((dist(pts[i], pts[j]), i, j)) edges.sort(key=lambda x: x[0]) removed = [False] * N ans = 0 for _, i, j in edges: if removed[i] or removed[j]: continue if i == 0: removed[j] = True ans += 1 else: removed[i] = removed[j] = True print(ans)