卬高杯
提出id | 提出時刻 | ユーザー名 | 問題 | 言語 | 判定状況 | 判定 | 実行時間 |
---|---|---|---|---|---|---|---|
114983 | 2023-10-25 08:56:50 | loop0919 | H | python | 19/19 | RE | 2003 |
from string import ascii_letters
N = int(input())
S = input().split()
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
for j, c in enumerate(ascii_letters):
if s[0] == c:
bit_next = bit | (1<<j)
idx = ascii_letters.index(s[-1])
dp[bit_next][idx] = max(dp[bit_next][idx], dp[bit][i] + len(s))
print(max(max(row) for row in dp))
sample1.txt AC 20 sample2.txt WA 31 sample3.txt AC 33 case1.txt RE 230 case2.txt RE 231 case3.txt RE 230 case4.txt RE 231 case5.txt RE 230 case6.txt TLE 2003 case7.txt RE 229 case8.txt RE 74 case9.txt RE 85 case10.txt RE 79 case11.txt RE 76 case12.txt RE 75 case13.txt RE 80 case14.txt RE 74 case15.txt RE 76 case16.txt RE 233 2003 RE
Traceback (most recent call last): File "/var/www/judge/submit2/114983/a.py", line 16, in <module> dp[bit_next][idx] = max(dp[bit_next][idx], dp[bit][i] + len(s)) IndexError: list index out of range