Submission #34842713
Source Code Expand
Copy
import itertoolsimport collectionsN,M = map(int, input().split())S = [str(input()) for _ in range(N)]T = {str(input()) for _ in range(M)}# N<=8で8!=40320通りなので全探索が間に合いそう# が、間に入れる_のパターンもある。# 最悪パターンはSが全部1文字だった時。# Sの間7か所に、8個_を詰めるので重複組み合わせ7H8 = 3003通りなので# 40320*3003 = 121080960 ≒ 10**8 なので間に合うか、合わないか微妙# だが、NGパターンは10**5 までなので、試しているうちに必ずOKなパターンが出る# ∴全パターンを試して、OKなのが出ればXを出力、NGならば-1を出力char_len = sum([len(Si) for Si in S]) + N - 1 # Xの最短文字長さ。Sの合計文字長と各間に_が1個は入るのでその分if char_len <= 16:# まずは最低限の_しか入れないパターンを試すfor p in itertools.permutations(S,N):# p:文字の並び
import itertools import collections N,M = map(int, input().split()) S = [str(input()) for _ in range(N)] T = {str(input()) for _ in range(M)} # N<=8で8!=40320通りなので全探索が間に合いそう # が、間に入れる_のパターンもある。 # 最悪パターンはSが全部1文字だった時。 # Sの間7か所に、8個_を詰めるので重複組み合わせ7H8 = 3003通りなので # 40320*3003 = 121080960 ≒ 10**8 なので間に合うか、合わないか微妙 # だが、NGパターンは10**5 までなので、試しているうちに必ずOKなパターンが出る # ∴全パターンを試して、OKなのが出ればXを出力、NGならば-1を出力 char_len = sum([len(Si) for Si in S]) + N - 1 # Xの最短文字長さ。Sの合計文字長と各間に_が1個は入るのでその分 if char_len <= 16: # まずは最低限の_しか入れないパターンを試す for p in itertools.permutations(S,N): # p:文字の並び ans = list() for j in range(N-1): ans.append(p[j]) ans.append("_") ans.append(p[N-1]) # 最後の文字は後ろに_入らないのでループから分ける ans = ''.join(map(str,ans)) if ans in T: pass elif len(ans) >= 3: print(ans) exit() # _を入れる個数を限界まで試す for i in range(1,17 - char_len): # i:挿入する_の個数 for p in itertools.permutations(S,N): # p:文字の並び for v in itertools.combinations_with_replacement([k for k in range(N-1)],i): # v:_の挿入箇所 counted_v = collections.Counter(v) # 挿入箇所毎に個数をまとめておく ans = list() for j in range(N-1): ans.append(p[j]) ans.append("_") if counted_v[j] != 0: for k in range(counted_v[j]): ans.append("_") ans.append(p[N-1]) # 最後の文字は後ろに_入らないのでループから分ける ans = ''.join(map(str,ans)) if ans in T: pass elif len(ans) >= 3: print(ans) exit() # 全部試してダメなら、ない。 print(-1) else: # そもそも試せるパターンがないので、ない。 print(-1)
Submission Info
Submission Time | |
---|---|
Task | D - Unique Username |
User | tonomotohide |
Language | PyPy3 (7.3.0) |
Score | 400 |
Code Size | 2578 Byte |
Status | AC |
Exec Time | 310 ms |
Memory | 86044 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_one_00.txt, 01_one_01.txt, 01_one_02.txt, 01_one_03.txt, 01_one_04.txt, 01_one_05.txt, 02_case_00.txt, 02_case_01.txt, 02_case_02.txt, 02_case_03.txt, 02_case_04.txt, 02_case_05.txt, 02_case_06.txt, 02_case_07.txt, 02_case_08.txt, 02_case_09.txt, 02_case_10.txt, 02_case_11.txt, 02_case_12.txt, 02_case_13.txt, 02_case_14.txt, 02_case_15.txt, 02_case_16.txt, 02_case_17.txt, 03_eight_00.txt, 03_eight_01.txt, 03_eight_02.txt, 03_eight_03.txt, 03_eight_04.txt, 03_eight_05.txt, 04_corner_00.txt, 04_corner_01.txt, 04_corner_02.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_00.txt | AC | 75 ms | 64668 KB |
00_sample_01.txt | AC | 58 ms | 64472 KB |
00_sample_02.txt | AC | 53 ms | 64460 KB |
00_sample_03.txt | AC | 60 ms | 64656 KB |
01_one_00.txt | AC | 60 ms | 65068 KB |
01_one_01.txt | AC | 58 ms | 65140 KB |
01_one_02.txt | AC | 57 ms | 65268 KB |
01_one_03.txt | AC | 56 ms | 65284 KB |
01_one_04.txt | AC | 63 ms | 65272 KB |
01_one_05.txt | AC | 60 ms | 65052 KB |
02_case_00.txt | AC | 187 ms | 84140 KB |
02_case_01.txt | AC | 183 ms | 83948 KB |
02_case_02.txt | AC | 189 ms | 84180 KB |
02_case_03.txt | AC | 195 ms | 84244 KB |
02_case_04.txt | AC | 197 ms | 84240 KB |
02_case_05.txt | AC | 185 ms | 84180 KB |
02_case_06.txt | AC | 214 ms | 84568 KB |
02_case_07.txt | AC | 215 ms | 84424 KB |
02_case_08.txt | AC | 188 ms | 84300 KB |
02_case_09.txt | AC | 310 ms | 85232 KB |
02_case_10.txt | AC | 233 ms | 84856 KB |
02_case_11.txt | AC | 191 ms | 84196 KB |
02_case_12.txt | AC | 183 ms | 85308 KB |
02_case_13.txt | AC | 282 ms | 86044 KB |
02_case_14.txt | AC | 186 ms | 84292 KB |
02_case_15.txt | AC | 189 ms | 85372 KB |
02_case_16.txt | AC | 194 ms | 85624 KB |
02_case_17.txt | AC | 194 ms | 84308 KB |
03_eight_00.txt | AC | 186 ms | 85524 KB |
03_eight_01.txt | AC | 189 ms | 85664 KB |
03_eight_02.txt | AC | 183 ms | 85528 KB |
03_eight_03.txt | AC | 224 ms | 85496 KB |
03_eight_04.txt | AC | 228 ms | 85364 KB |
03_eight_05.txt | AC | 221 ms | 85256 KB |
04_corner_00.txt | AC | 60 ms | 64848 KB |
04_corner_01.txt | AC | 57 ms | 64752 KB |
04_corner_02.txt | AC | 59 ms | 64660 KB |