結果

問題 No.2064 Smallest Sequence on Grid
コンテスト
ユーザー lam6er
提出日時 2025-03-31 17:47:09
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 1,947 ms / 3,000 ms
コード長 768 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 226 ms
コンパイル使用メモリ 96,368 KB
実行使用メモリ 155,940 KB
最終ジャッジ日時 2026-07-08 05:13:28
合計ジャッジ時間 19,468 ms
ジャッジサーバーID
(参考情報)
judge3_1 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

h, w = map(int, input().split())
grid = [input().strip() for _ in range(h)]

current = set()
current.add((0, 0))
result = [grid[0][0]]

for _ in range(h + w - 2):
    next_cells = {}
    min_char = 'z'
    
    for (i, j) in current:
        for dx, dy in [(1, 0), (0, 1)]:
            ni, nj = i + dx, j + dy
            if ni < h and nj < w:
                char = grid[ni][nj]
                if (ni, nj) not in next_cells:
                    next_cells[(ni, nj)] = char
                if char < min_char:
                    min_char = char
    
    next_current = set()
    for (ni, nj), c in next_cells.items():
        if c == min_char:
            next_current.add((ni, nj))
    
    result.append(min_char)
    current = next_current

print(''.join(result))
0