卬高杯
提出id | 提出時刻 | ユーザー名 | 問題 | 言語 | 判定状況 | 判定 | 実行時間 |
---|---|---|---|---|---|---|---|
114989 | 2023-10-25 09:20:46 | loop0919 | H | python | 19/19 | RE | 691 |
from string import ascii_letters
ascii_index = {c : i for i, c in enumerate(ascii_letters)}
N = int(input())
S = input().split()
dp = [[0 for _ in range(len(ascii_letters) + 1)] for _ in range(1<<N)]
for bit in range(1<<N):
for i, s in enumerate(S):
if (bit >> i) & 1 == 1:
continue
j = ascii_index[s[0]]
bit_next = bit | (1<<i)
idx = ascii_index[s[-1]]
dp[bit_next][idx] = max(dp[bit_next][idx], dp[bit][j] + len(s))
print(ascii_index)
print(max(dp[(1<<N)-1]))
sample1.txt WA 19 sample2.txt WA 26 sample3.txt WA 26 case1.txt WA 648 case2.txt WA 629 case3.txt WA 680 case4.txt WA 657 case5.txt WA 691 case6.txt WA 639 case7.txt WA 655 case8.txt RE 75 case9.txt RE 85 case10.txt RE 80 case11.txt WA 19 case12.txt RE 75 case13.txt RE 80 case14.txt RE 75 case15.txt RE 75 case16.txt WA 639 691 RE