結果

問題 No.3428 Palindromic Path (Easy)
コンテスト
ユーザー NaH54i
提出日時 2026-01-11 14:02:29
言語 PyPy3
(7.3.17)
結果
AC  
実行時間 106 ms / 2,000 ms
コード長 717 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 295 ms
コンパイル使用メモリ 82,288 KB
実行使用メモリ 76,924 KB
最終ジャッジ日時 2026-01-11 14:02:39
合計ジャッジ時間 1,307 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 6
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import itertools as it

N = int(input())
C = [input() for _ in range(N)]

P = 998244353

if C[0][0] != C[-1][-1]:
    print(0)
    quit()

cs = it.combinations(list(range(2 * (N - 1))), N - 1)
ans = 0
for c in cs:
    y, x = 0, 0
    j = 0
    s = []
    for i in range(N - 2):
        if i == c[j]:
            x += 1
            j += 1
        else:
            y += 1
        s.append(C[y][x])
    if N - 2 == c[j]:
        x += 1
        j += 1
    else:
        y += 1
    for i in range(N - 2):
        if j < N - 1 and i + N - 1 == c[j]:
            x += 1
            j += 1
        else:
            y += 1
        if C[y][x] != s[-1 - i]:
            break
    else:
        ans = (ans + 1) % P

print(ans)
0