CSES - Datatähti 2021 alku - Results
Submission details
Task:Ratsun reitit
Sender:osmo
Submission time:2020-10-05 14:19:24 +0300
Language:Python3 (PyPy3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.05 s1, 2, 3details
#20.05 s1, 2, 3details
#30.05 s1, 2, 3details
#40.05 s1, 2, 3details
#50.05 s1, 2, 3details
#60.06 s1, 2, 3details
#70.06 s1, 2, 3details
#80.09 s2, 3details
#90.17 s2, 3details
#100.20 s2, 3details
#110.24 s3details
#120.27 s3details
#130.27 s3details

Code

n = int(input())

reitit = [[0 for x in range(n)] for y in range(n)]

x_list = 0
y_list = 0
reitit[0][0] = 1

for _ in range(10):
    for y_pos in range(n):
        for x_pos in range(n ):  
            if x_pos + 2 < n and y_pos + 1 < n and reitit[y_pos][x_pos] != 0:
                if reitit[y_pos + 1][x_pos + 2] > reitit[y_pos][x_pos] + 1 or reitit[y_pos + 1][x_pos + 2] == 0:
                    reitit[y_pos + 1][x_pos + 2] = reitit[y_pos][x_pos] + 1
            if x_pos + 2 < n and y_pos - 1 >= 0 and reitit[y_pos][x_pos] != 0:
                if reitit[y_pos - 1][x_pos + 2] > reitit[y_pos][x_pos] + 1 or reitit[y_pos - 1][x_pos + 2] == 0:
                    reitit[y_pos - 1][x_pos + 2] = reitit[y_pos][x_pos] + 1
            if x_pos - 2 >= 0 and y_pos + 1 < n and reitit[y_pos][x_pos] != 0:
                if reitit[y_pos + 1][x_pos - 2] > reitit[y_pos][x_pos] + 1 or reitit[y_pos + 1][x_pos - 2] == 0:
                    reitit[y_pos + 1][x_pos - 2] = reitit[y_pos][x_pos] + 1    
            if x_pos - 2 >= 0 and y_pos - 1 >= 0 and reitit[y_pos][x_pos] != 0:
                if reitit[y_pos - 1][x_pos - 2] > reitit[y_pos][x_pos] + 1 or reitit[y_pos - 1][x_pos - 2] == 0:
                    reitit[y_pos - 1][x_pos - 2] = reitit[y_pos][x_pos] + 1
            if x_pos + 1 < n and y_pos + 2 < n and reitit[y_pos][x_pos] != 0:
                if reitit[y_pos + 2][x_pos + 1] > reitit[y_pos][x_pos] + 1 or reitit[y_pos + 2][x_pos + 1] == 0:
                    reitit[y_pos + 2][x_pos + 1] = reitit[y_pos][x_pos] + 1   
            if x_pos - 1 >= 0 and y_pos + 2 < n and reitit[y_pos][x_pos] != 0:
                if reitit[y_pos + 2][x_pos - 1] > reitit[y_pos][x_pos] + 1 or reitit[y_pos + 2][x_pos - 1] == 0:
                    reitit[y_pos + 2][x_pos - 1] = reitit[y_pos][x_pos] + 1
            if x_pos + 1 < n and y_pos - 2 >= 0 and reitit[y_pos][x_pos] != 0:
                if reitit[y_pos - 2][x_pos + 1] > reitit[y_pos][x_pos] + 1 or reitit[y_pos - 2][x_pos + 1] == 0:
                    reitit[y_pos - 2][x_pos + 1] = reitit[y_pos][x_pos] + 1     
            if x_pos - 1 >= 0 and y_pos - 2 >= 0 and reitit[y_pos][x_pos] != 0:
                if reitit[y_pos - 2][x_pos - 1] > reitit[y_pos][x_pos] + 1 or reitit[y_pos - 2][x_pos - 1] == 0:
                    reitit[y_pos - 2][x_pos - 1] = reitit[y_pos][x_pos] + 1    
      
for temp_y in range(n):
    print("")
    for temp_x in range(n):
        print("0" + str(reitit[temp_y][temp_x] - 1) + " ", end = '')

Test details

Test 1

Group: 1, 2, 3

Verdict:

input
4

correct output
0 3 2 5 
3 4 1 2 
2 1 4 3 
5 2 3 2 

user output

00 03 02 05 
03 04 01 02 
02 01 04 03 
05 02 03 02 

Test 2

Group: 1, 2, 3

Verdict:

input
5

correct output
0 3 2 3 2 
3 4 1 2 3 
2 1 4 3 2 
3 2 3 2 3 
2 3 2 3 4 

user output

00 03 02 03 02 
03 04 01 02 03 
02 01 04 03 02 
03 02 03 02 03 
...

Test 3

Group: 1, 2, 3

Verdict:

input
6

correct output
0 3 2 3 2 3 
3 4 1 2 3 4 
2 1 4 3 2 3 
3 2 3 2 3 4 
2 3 2 3 4 3 
...

user output

00 03 02 03 02 03 
03 04 01 02 03 04 
02 01 04 03 02 03 
03 02 03 02 03 04 
...
Truncated

Test 4

Group: 1, 2, 3

Verdict:

input
7

correct output
0 3 2 3 2 3 4 
3 4 1 2 3 4 3 
2 1 4 3 2 3 4 
3 2 3 2 3 4 3 
2 3 2 3 4 3 4 
...

user output

00 03 02 03 02 03 04 
03 04 01 02 03 04 03 
02 01 04 03 02 03 04 
03 02 03 02 03 04 03 
...
Truncated

Test 5

Group: 1, 2, 3

Verdict:

input
8

correct output
0 3 2 3 2 3 4 5 
3 4 1 2 3 4 3 4 
2 1 4 3 2 3 4 5 
3 2 3 2 3 4 3 4 
2 3 2 3 4 3 4 5 
...

user output

00 03 02 03 02 03 04 05 
03 04 01 02 03 04 03 04 
02 01 04 03 02 03 04 05 
03 02 03 02 03
...
Truncated

Test 6

Group: 1, 2, 3

Verdict:

input
9

correct output
0 3 2 3 2 3 4 5 4 
3 4 1 2 3 4 3 4 5 
2 1 4 3 2 3 4 5 4 
3 2 3 2 3 4 3 4 5 
2 3 2 3 4 3 4 5 4 
...

user output

00 03 02 03 02 03 04 05 04 
03 04 01 02 03 04 03 04 05 
02 01 04 03 02 03 04 05 04 
03 02
...
Truncated

Test 7

Group: 1, 2, 3

Verdict:

input
10

correct output
0 3 2 3 2 3 4 5 4 5 
3 4 1 2 3 4 3 4 5 6 
2 1 4 3 2 3 4 5 4 5 
3 2 3 2 3 4 3 4 5 6 
2 3 2 3 4 3 4 5 4 5 
...

user output

00 03 02 03 02 03 04 05 04 05 
03 04 01 02 03 04 03 04 05 06 
02 01 04 03 02 03 04 05 04 

...
Truncated

Test 8

Group: 2, 3

Verdict:

input
25

correct output
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ...

user output

00 03 02 03 02 03 04 05 04 05 ...
Truncated

Test 9

Group: 2, 3

Verdict:

input
49

correct output
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ...

user output

00 03 02 03 02 03 04 05 04 05 ...
Truncated

Test 10

Group: 2, 3

Verdict:

input
50

correct output
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ...

user output

00 03 02 03 02 03 04 05 04 05 ...
Truncated

Test 11

Group: 3

Verdict:

input
75

correct output
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ...

user output

00 03 02 03 02 03 04 05 04 05 ...
Truncated

Test 12

Group: 3

Verdict:

input
99

correct output
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ...

user output

00 03 02 03 02 03 04 05 04 05 ...
Truncated

Test 13

Group: 3

Verdict:

input
100

correct output
0 3 2 3 2 3 4 5 4 5 6 7 6 7 8 ...

user output

00 03 02 03 02 03 04 05 04 05 ...
Truncated