Created
May 28, 2020 14:28
-
-
Save mcrisc/23790f5ace63a49e5c47d7bc33295d1e to your computer and use it in GitHub Desktop.
Elfos e seus códigos (URI #2020)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Elfos e seus códigos | |
# https://www.urionlinejudge.com.br/judge/pt/problems/view/2020 | |
import string | |
UPPERCASE_LETTERS = string.ascii_letters[26:] | |
list_num = 0 | |
while True: | |
try: | |
line = input().strip() | |
except EOFError: | |
break | |
n = int(line) | |
list_num += 1 | |
row = {i: i for i in range(0, 27)} | |
col = {i: i for i in range(0, 27)} | |
if list_num > 1: | |
print() | |
print('LISTA #%d:' % list_num) | |
# for each list item | |
items = [] | |
for _ in range(n): | |
chars = [] | |
codes = map(int, input().strip().split()) | |
for c in codes: | |
if c == 27: | |
chars.append(' ') | |
continue | |
pos = c - 1 | |
cur_row = row[pos] | |
char = UPPERCASE_LETTERS[col[cur_row]] | |
chars.append(char) | |
# pivoting columns | |
col[26] = col[cur_row] | |
for i in range(cur_row, 26): | |
col[i] = col[i+1] | |
# pivoting rows | |
row[26] = row[pos] | |
for i in range(pos, 26): | |
row[i] = row[i+1] | |
item = ''.join(chars) | |
items.append(item) | |
items.sort() | |
for item in items: | |
print(item) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment