卬高杯
提出id | 提出時刻 | ユーザー名 | 問題 | 言語 | 判定状況 | 判定 | 実行時間 |
---|---|---|---|---|---|---|---|
114990 | 2023-10-25 09:24:12 | loop0919 | H | python | 19/19 | WA | 673 |
from string import ascii_letters
ascii_index = {c : i for i, c in enumerate(ascii_letters)}
N = int(input())
S = input().split()
for s in S:
if all(c in ascii_index 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 31 sample3.txt WA 26 case1.txt WA 655 case2.txt WA 651 case3.txt WA 633 case4.txt WA 673 case5.txt WA 635 case6.txt WA 631 case7.txt WA 651 case8.txt WA 19 case9.txt WA 21 case10.txt WA 23 case11.txt WA 33 case12.txt WA 20 case13.txt WA 20 case14.txt WA 30 case15.txt WA 31 case16.txt WA 637 673 WA