結果
問題 | No.402 最も海から遠い場所 |
ユーザー | mastersatoshi |
提出日時 | 2017-06-29 09:49:12 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,659 bytes |
コンパイル時間 | 73 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 21,024 KB |
最終ジャッジ日時 | 2024-04-15 04:38:27 |
合計ジャッジ時間 | 9,106 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 28 ms
18,208 KB |
testcase_01 | WA | - |
testcase_02 | AC | 37 ms
11,264 KB |
testcase_03 | AC | 29 ms
11,136 KB |
testcase_04 | AC | 29 ms
11,136 KB |
testcase_05 | AC | 29 ms
11,136 KB |
testcase_06 | AC | 28 ms
11,264 KB |
testcase_07 | AC | 30 ms
11,264 KB |
testcase_08 | AC | 29 ms
11,264 KB |
testcase_09 | AC | 28 ms
11,264 KB |
testcase_10 | AC | 28 ms
11,264 KB |
testcase_11 | AC | 30 ms
11,264 KB |
testcase_12 | AC | 29 ms
11,264 KB |
testcase_13 | AC | 153 ms
11,520 KB |
testcase_14 | AC | 61 ms
11,264 KB |
testcase_15 | AC | 2,877 ms
13,440 KB |
testcase_16 | TLE | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
testcase_20 | -- | - |
testcase_21 | -- | - |
ソースコード
#import pdb; pdb.set_trace() import copy import math def main(): (h, w) = map(int, input().split()) s = [] for i in range(h): s.append(list(map(int, list(input().replace("#", "1").replace(".", "0"))))) depth = min(int(math.ceil(w / 2)), int(math.ceil(h / 2))) maxi = 1 for k in range(1, depth): for j in range(k, depth): for i in range(1, w - j): a = j b = i if s[a][b] == k: s[a][b] = min(s[a + 1][b + 1], s[a + 1][b], s[a + 1][b - 1], s[a][b - 1], s[a - 1][b - 1], s[a - 1][b], s[a - 1][b + 1], s[a][b + 1]) + 1 maxi = k for i in range(1, h - j): a = i b = j if s[a][b] == k: s[a][b] = min(s[a + 1][b + 1], s[a + 1][b], s[a + 1][b - 1], s[a][b - 1], s[a - 1][b - 1], s[a - 1][b], s[a - 1][b + 1], s[a][b + 1]) + 1 maxi = k for i in range(1, w - j): a = h - 1 - j b = i if s[a][b] == k: s[a][b] = min(s[a + 1][b + 1], s[a + 1][b], s[a + 1][b - 1], s[a][b - 1], s[a - 1][b - 1], s[a - 1][b], s[a - 1][b + 1], s[a][b + 1]) + 1 maxi = k for i in range(1, h - j): a = i b = w - 1 - j if s[a][b] == k: s[a][b] = min(s[a + 1][b + 1], s[a + 1][b], s[a + 1][b - 1], s[a][b - 1], s[a - 1][b - 1], s[a - 1][b], s[a - 1][b + 1], s[a][b + 1]) + 1 maxi = k print(maxi) if __name__ == '__main__': main()