結果

問題 No.411 昇順昇順ソート
ユーザー titia
提出日時 2023-03-08 03:38:48
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 651 bytes
コンパイル時間 178 ms
コンパイル使用メモリ 82,564 KB
実行使用メモリ 403,960 KB
最終ジャッジ日時 2024-09-18 02:25:09
合計ジャッジ時間 8,913 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 29 TLE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

N,K=map(int,input().split())

DP=[[[0]*(1<<N) for j in range(N)]for i in range(2)]
DP[0][K-1][1<<(K-1)]=1


for i in range(1<<N):
    for j in range(N):
        if DP[0][j][i]!=0:
            for k in range(N):
                if i & (1<<k) == 0:
                    if k>j:
                        DP[0][k][i|(1<<k)]+=DP[0][j][i]
                    else:
                        DP[1][k][i|(1<<k)]+=DP[0][j][i]
        if DP[1][j][i]!=0:
            for k in range(N):
                if i & (1<<k) == 0:
                    if k>j:
                        DP[1][k][i|(1<<k)]+=DP[1][j][i]

ANS=0
for i in range(N):
    ANS+=DP[1][i][-1]

print(ANS)
0