CSES - Leirikisa 9.12.2021 - Results
Submission details
Task:Ruudukko
Sender:Kirill_Akimov
Submission time:2022-01-07 01:34:26 +0200
Language:Python3 (PyPy3)
Status:READY
Result:17
Feedback
groupverdictscore
#1ACCEPTED17
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.06 s1details
#3ACCEPTED0.06 s1details
#4ACCEPTED0.06 s1details
#5ACCEPTED0.06 s1details
#6ACCEPTED0.18 s2details
#7ACCEPTED0.09 s2details
#8ACCEPTED0.06 s2details
#90.06 s2details
#10ACCEPTED0.06 s2details
#11--3details
#12--3details
#13ACCEPTED0.09 s3details
#14ACCEPTED0.10 s3details
#15ACCEPTED0.10 s3details

Code

from string import ascii_uppercase
char = {ascii_uppercase[i]:i for i in range(26)}
n = int(input())
board = [[e for e in input()] for i in range(n)]
answer = ['*'] * (2*n-1)
answer[0] = board[0][0]
answer[2*n-2] = board[n-1][n-1]
current_queue = [[0,0]]
new_queue = []
minimal = 26
def check(i, j):
global n
global answer
global board
if i == n-1:
for k in range(i+j+1, 2*n-1):
answer[k] = board[i][k-i] #answer[k] = r[i][j+k-i-j]
return True
elif j == n-1:
for k in range(i+j+1, 2*n-1):
answer[k] = board[k-j][j] #answer[k] = r[i+k-i-j][j]
return True
return False
def fill_up(i, j, k):
global n
global char
global board
global minimal
global current_queue
global new_queue
if k == 0 or current_queue[k-1][0] == current_queue[k][0] - 1:
if j < n-1:
if char[board[i][j+1]] < minimal:
new_queue = [[i, j+1]]
minimal = char[board[i][j+1]]
elif char[board[i][j+1]] == minimal:
new_queue += [[i, j+1]]
if i < n-1:
if char[board[i+1][j]] < minimal:
new_queue = [[i+1, j]]
minimal = char[board[i+1][j]]
elif char[board[i+1][j]] == minimal:
new_queue += [[i+1, j]]
if n > 1:
for i in range(1, 2*n-2):
length = len(current_queue)
if length == 1:
if check(current_queue[0][0], current_queue[0][1]):
break
for j in range(length):
fill_up(current_queue[j][0], current_queue[j][1], j)
answer[i] = board[new_queue[0][0]][new_queue[0][1]]
current_queue = new_queue
new_queue = []
minimal = 26
print(''.join(answer))

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
5
AAAAA
AAAAA
AAAAA
AAAAA
...

correct output
AAAAAAAAB

user output
AAAAAAAAB

Test 2

Group: 1

Verdict: ACCEPTED

input
5
ABABA
BABAB
ABABA
BABAB
...

correct output
ABABABABA

user output
ABABABABA

Test 3

Group: 1

Verdict: ACCEPTED

input
5
WRYIU
TWLKH
UJMJC
GRDJW
...

correct output
WRWJMDJWK

user output
WRWJMDJWK

Test 4

Group: 1

Verdict: ACCEPTED

input
5
RUEAE
ZYHHW
KDBPD
DXREW
...

correct output
RUEAEWDWX

user output
RUEAEWDWX

Test 5

Group: 1

Verdict: ACCEPTED

input
5
SRGYR
MYDOB
GNOVM
SZOZK
...

correct output
SMGNOOLTU

user output
SMGNOOLTU

Test 6

Group: 2

Verdict: ACCEPTED

input
100
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...
Truncated

Test 7

Group: 2

Verdict: ACCEPTED

input
100
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
ABABABABABABABABABABABABABABAB...
Truncated

Test 8

Group: 2

Verdict: ACCEPTED

input
100
FWOVNYKNMMQCNHJGUYPNEDXGVVGONC...

correct output
FWDBDECKBHKIACOVUCJGDJOHAYIBHO...

user output
FWDBDECKBHKIACOVUCJGDJOHAYIBHO...
Truncated

Test 9

Group: 2

Verdict:

input
100
ETGCJABWKMAAEOQXWFFYMDJBMNKMQK...

correct output
EAARGLBRLHCDHHBPABHDAJBEEBHQBE...

user output
EAARGLBRLHCDHHBPABHDAJBEEBHQBE...
Truncated

Test 10

Group: 2

Verdict: ACCEPTED

input
100
GNWMLJNHSBAADUFCSGIZMWHZTVDHNR...

correct output
GEGOFRDKBNLLEUOPOEQCEFMTKANLNC...

user output
GEGOFRDKBNLLEUOPOEQCEFMTKANLNC...
Truncated

Test 11

Group: 3

Verdict:

input
500
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

user output
(empty)

Test 12

Group: 3

Verdict:

input
500
ABABABABABABABABABABABABABABAB...

correct output
ABABABABABABABABABABABABABABAB...

user output
(empty)

Test 13

Group: 3

Verdict: ACCEPTED

input
500
HGADXTSFXYIEMDWMFIVQGHTACFUPYI...

correct output
HGADEJOGAKPJCRAHTABRSDLAVGBFAG...

user output
HGADEJOGAKPJCRAHTABRSDLAVGBFAG...
Truncated

Test 14

Group: 3

Verdict: ACCEPTED

input
500
SBLNMAZESQVGWAPZYHQJMQTNGMEZWS...

correct output
SBLCAMDHILGIDRCIDUNMMAHFYCENOS...

user output
SBLCAMDHILGIDRCIDUNMMAHFYCENOS...
Truncated

Test 15

Group: 3

Verdict: ACCEPTED

input
500
AOXYXRYFWPYWQDPWXQITLHQQUAYZAJ...

correct output
AOJLDOAPBGEKSGCNKBUMKAJCCWCOOD...

user output
AOJLDOAPBGEKSGCNKBUMKAJCCWCOOD...
Truncated