卬高杯
提出id | 提出時刻 | ユーザー名 | 問題 | 言語 | 判定状況 | 判定 | 実行時間 |
---|---|---|---|---|---|---|---|
114991 | 2023-10-25 09:25:35 | loop0919 | H | python | 19/19 | WA | 696 |
from string import ascii_letters
ascii_index = {c : i for i, c in enumerate(ascii_letters)}
ascii_set = set(ascii_letters)
N = int(input())
S = input().split()
for s in S:
if all(c in ascii_set for c in s):
pass
else:
print("-1")
exit()
dp = [[0 for _ in range(len(ascii_letters))] 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 24 sample3.txt WA 20 case1.txt WA 654 case2.txt WA 674 case3.txt WA 696 case4.txt WA 648 case5.txt WA 677 case6.txt WA 622 case7.txt WA 667 case8.txt WA 19 case9.txt WA 19 case10.txt WA 19 case11.txt WA 27 case12.txt WA 20 case13.txt WA 21 case14.txt WA 24 case15.txt WA 26 case16.txt WA 637 696 WA