結果
| 問題 |
No.1265 Balloon Survival
|
| コンテスト | |
| ユーザー |
FromBooska
|
| 提出日時 | 2023-03-10 23:22:02 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,501 ms / 2,000 ms |
| コード長 | 763 bytes |
| コンパイル時間 | 296 ms |
| コンパイル使用メモリ | 81,868 KB |
| 実行使用メモリ | 130,808 KB |
| 最終ジャッジ日時 | 2024-09-18 05:37:43 |
| 合計ジャッジ時間 | 18,394 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 32 |
ソースコード
# 全点対の距離、昇順で並べる
# popしてなければ両方pop
# 1とpopしていないbaloonであれば取り除く=pop
# TLEしたのでmain()を入れる
def main():
N = int(input())
XY = []
for i in range(N):
x, y = map(int, input().split())
XY.append([x, y])
d_list = []
for i in range(N):
for j in range(i+1, N):
d = (XY[i][0]-XY[j][0])**2 + (XY[i][1]-XY[j][1])**2
d_list.append((d, i, j))
d_list.sort()
pop = [0]*N
ans = 0
for d, i, j in d_list:
if i == 0 and pop[j] == 0:
pop[j] = 1
ans += 1
elif pop[i] == 0 and pop[j] == 0:
pop[i] = 1
pop[j] = 1
print(ans)
main()
FromBooska