Submission #5905421


Source Code Expand

import heapq as h
orda = lambda x: ord(x)-ord("a")
ans = []
n =  int(input())
l = [set() for _ in range(26)]
r = [set() for _ in range(26)]
for _ in range(n):
  a,b = input().split()
  for i in range(min(len(a),len(b))):
    if a[i] != b[i]:
      l[orda(a[i])].add(orda(b[i]))
      r[orda(b[i])].add(orda(a[i]))
      break
  else:
    if len(a) > len(b):
      print(-1)
      exit()
for i in range(26):
  r[i] = len(r[i])
t = []
for z in range(26):
  if not r[z]:
    h.heappush(t,z)
while t:
  cur = h.heappop(t)
  ans.append(cur)
  for x in l[cur]:
    r[x] -= 1
    if not r[x]:
      h.heappush(t,x)
alp = lambda n: chr(n+97)
pt = "".join(map(alp,ans))
if len(pt) != 26:
  pt = -1
print(pt)

Submission Info

Submission Time
Task C - 山田山本問題
User nebocco
Language Python (3.4.3)
Score 600
Code Size 732 Byte
Status AC
Exec Time 181 ms
Memory 3188 KB

Judge Result

Set Name All
Score / Max Score 600 / 600
Status
AC × 45
Set Name Test Cases
All 00_sample_01, 00_sample_02, 00_sample_03, 00_sample_04, 01_manual_00, 01_manual_01, 01_manual_02, 01_manual_03, 01_manual_04, 01_manual_05, 01_manual_06, 01_manual_07, 10_random_00, 10_random_01, 10_random_02, 10_random_03, 10_random_04, 10_random_05, 10_random_06, 10_random_07, 10_random_08, 10_random_09, 30_random_00, 30_random_01, 30_random_02, 30_random_03, 30_random_04, 30_random_05, 30_random_06, 30_random_07, 30_random_08, 30_random_09, 50_random_00, 50_random_01, 50_random_02, 50_random_03, 50_random_04, 50_random_05, 50_random_06, 50_random_07, 50_random_08, 50_random_09, 51_random_00, 51_random_01, 51_random_02
Case Name Status Exec Time Memory
00_sample_01 AC 18 ms 3064 KB
00_sample_02 AC 18 ms 3064 KB
00_sample_03 AC 18 ms 3064 KB
00_sample_04 AC 18 ms 3064 KB
01_manual_00 AC 18 ms 3064 KB
01_manual_01 AC 18 ms 3064 KB
01_manual_02 AC 18 ms 3064 KB
01_manual_03 AC 18 ms 3064 KB
01_manual_04 AC 18 ms 3064 KB
01_manual_05 AC 18 ms 3064 KB
01_manual_06 AC 18 ms 3064 KB
01_manual_07 AC 166 ms 3188 KB
10_random_00 AC 19 ms 3064 KB
10_random_01 AC 19 ms 3064 KB
10_random_02 AC 19 ms 3188 KB
10_random_03 AC 19 ms 3064 KB
10_random_04 AC 19 ms 3064 KB
10_random_05 AC 19 ms 3064 KB
10_random_06 AC 19 ms 3064 KB
10_random_07 AC 19 ms 3064 KB
10_random_08 AC 18 ms 3064 KB
10_random_09 AC 19 ms 3064 KB
30_random_00 AC 18 ms 3064 KB
30_random_01 AC 18 ms 3064 KB
30_random_02 AC 18 ms 3064 KB
30_random_03 AC 18 ms 3064 KB
30_random_04 AC 18 ms 3064 KB
30_random_05 AC 18 ms 3064 KB
30_random_06 AC 18 ms 3064 KB
30_random_07 AC 18 ms 3064 KB
30_random_08 AC 18 ms 3064 KB
30_random_09 AC 18 ms 3064 KB
50_random_00 AC 177 ms 3188 KB
50_random_01 AC 140 ms 3188 KB
50_random_02 AC 181 ms 3188 KB
50_random_03 AC 147 ms 3188 KB
50_random_04 AC 136 ms 3188 KB
50_random_05 AC 153 ms 3188 KB
50_random_06 AC 130 ms 3188 KB
50_random_07 AC 181 ms 3188 KB
50_random_08 AC 132 ms 3188 KB
50_random_09 AC 161 ms 3188 KB
51_random_00 AC 96 ms 3188 KB
51_random_01 AC 19 ms 3188 KB
51_random_02 AC 64 ms 3188 KB