提出 #60824295
ソースコード 拡げる
"""
<方針>
- 再帰的に探索を行う.ただし,倒す順番はヒープで最弱を指定する.
- 重複の無いように,スライムを既に倒したかどうか(`killed`)は管理する.
"""
import heapq
# 入力
H, W, XX = map(int, input().split())
P, Q = map(int, input().split())
SS = [list(map(int, input().split())) for _ in range(H)]
P -= 1
Q -= 1
killed = [[False]*W for _ in range(H)]
# 🛡️高橋くん🗡️の強さ
power = 0
# ヒープでスライムを倒していく.
## 強さ,縦インデックス,横インデックス
q = [[SS[P][Q], P, Q]]
# ヒープを回す
while q:
# 強さ,縦インデックス,横インデックス
p, y, x = heapq.heappop(q)
# 既に倒されたかどうかを判定
if killed[y][x]:
continue
else:
killed[y][x] = True
# 最初 or 倒せる条件のとき
if power==0 or p<power/XX:
# 🛡️高橋くん🗡を強化する
power += p
# 近傍を探索
for (dy, dx) in [
(0, 1),
(1, 0),
(0, -1),
(-1, 0),
]:
Y = y + dy
X = x + dx
# 枠内のとき
if (0<=Y<H) and (0<=X<W):
# TLE回避のために,自明な倒されたスライムは登録しない.
if not killed[Y][X]:
# そのスライムをヒープに登録する.
heapq.heappush(q, [SS[Y][X], Y, X])
# 近傍で最弱のスライムすら倒せない🛡️高橋くん🗡は引退してもらう
else:
break
# 出力
print(power)
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Takahashi is Slime 2 |
| ユーザ | mattsunkun |
| 言語 | Python (PyPy 3.10-v7.3.12) |
| 得点 | 450 |
| コード長 | 1581 Byte |
| 結果 | AC |
| 実行時間 | 1352 ms |
| メモリ | 131164 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 450 / 450 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt, 01_random_43.txt, 01_random_44.txt, 01_random_45.txt, 01_random_46.txt, 01_random_47.txt, 01_random_48.txt, 01_random_49.txt, 01_random_50.txt, 01_random_51.txt, 01_random_52.txt, 01_random_53.txt, 01_random_54.txt, 01_random_55.txt, 01_random_56.txt, 01_random_57.txt, 01_random_58.txt, 01_random_59.txt, 01_random_60.txt, 01_random_61.txt, 01_random_62.txt, 01_random_63.txt, 01_random_64.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 58 ms | 76520 KiB |
| 00_sample_01.txt | AC | 57 ms | 76580 KiB |
| 00_sample_02.txt | AC | 57 ms | 76692 KiB |
| 01_random_03.txt | AC | 1290 ms | 130100 KiB |
| 01_random_04.txt | AC | 132 ms | 85024 KiB |
| 01_random_05.txt | AC | 1272 ms | 129300 KiB |
| 01_random_06.txt | AC | 326 ms | 92792 KiB |
| 01_random_07.txt | AC | 1299 ms | 129936 KiB |
| 01_random_08.txt | AC | 132 ms | 84948 KiB |
| 01_random_09.txt | AC | 1352 ms | 131164 KiB |
| 01_random_10.txt | AC | 261 ms | 90600 KiB |
| 01_random_11.txt | AC | 82 ms | 83424 KiB |
| 01_random_12.txt | AC | 58 ms | 76332 KiB |
| 01_random_13.txt | AC | 82 ms | 83376 KiB |
| 01_random_14.txt | AC | 192 ms | 87548 KiB |
| 01_random_15.txt | AC | 1259 ms | 127920 KiB |
| 01_random_16.txt | AC | 62 ms | 80952 KiB |
| 01_random_17.txt | AC | 1291 ms | 130824 KiB |
| 01_random_18.txt | AC | 164 ms | 86600 KiB |
| 01_random_19.txt | AC | 1194 ms | 124764 KiB |
| 01_random_20.txt | AC | 67 ms | 80972 KiB |
| 01_random_21.txt | AC | 1296 ms | 129320 KiB |
| 01_random_22.txt | AC | 65 ms | 81252 KiB |
| 01_random_23.txt | AC | 81 ms | 83436 KiB |
| 01_random_24.txt | AC | 64 ms | 80976 KiB |
| 01_random_25.txt | AC | 81 ms | 83644 KiB |
| 01_random_26.txt | AC | 60 ms | 80912 KiB |
| 01_random_27.txt | AC | 80 ms | 83716 KiB |
| 01_random_28.txt | AC | 66 ms | 81352 KiB |
| 01_random_29.txt | AC | 81 ms | 83396 KiB |
| 01_random_30.txt | AC | 70 ms | 83036 KiB |
| 01_random_31.txt | AC | 82 ms | 83908 KiB |
| 01_random_32.txt | AC | 65 ms | 80880 KiB |
| 01_random_33.txt | AC | 81 ms | 83572 KiB |
| 01_random_34.txt | AC | 72 ms | 82856 KiB |
| 01_random_35.txt | AC | 81 ms | 83656 KiB |
| 01_random_36.txt | AC | 61 ms | 80820 KiB |
| 01_random_37.txt | AC | 79 ms | 83840 KiB |
| 01_random_38.txt | AC | 67 ms | 80872 KiB |
| 01_random_39.txt | AC | 81 ms | 83464 KiB |
| 01_random_40.txt | AC | 65 ms | 81256 KiB |
| 01_random_41.txt | AC | 82 ms | 83880 KiB |
| 01_random_42.txt | AC | 67 ms | 82792 KiB |
| 01_random_43.txt | AC | 58 ms | 76508 KiB |
| 01_random_44.txt | AC | 57 ms | 76856 KiB |
| 01_random_45.txt | AC | 57 ms | 76412 KiB |
| 01_random_46.txt | AC | 63 ms | 82108 KiB |
| 01_random_47.txt | AC | 62 ms | 81788 KiB |
| 01_random_48.txt | AC | 65 ms | 81676 KiB |
| 01_random_49.txt | AC | 56 ms | 76688 KiB |
| 01_random_50.txt | AC | 57 ms | 76620 KiB |
| 01_random_51.txt | AC | 57 ms | 76716 KiB |
| 01_random_52.txt | AC | 66 ms | 81836 KiB |
| 01_random_53.txt | AC | 67 ms | 81592 KiB |
| 01_random_54.txt | AC | 67 ms | 81548 KiB |
| 01_random_55.txt | AC | 62 ms | 76492 KiB |
| 01_random_56.txt | AC | 61 ms | 76888 KiB |
| 01_random_57.txt | AC | 61 ms | 76524 KiB |
| 01_random_58.txt | AC | 328 ms | 110084 KiB |
| 01_random_59.txt | AC | 330 ms | 111580 KiB |
| 01_random_60.txt | AC | 329 ms | 112456 KiB |
| 01_random_61.txt | AC | 58 ms | 76580 KiB |
| 01_random_62.txt | AC | 57 ms | 76340 KiB |
| 01_random_63.txt | AC | 57 ms | 76536 KiB |
| 01_random_64.txt | AC | 57 ms | 76544 KiB |