CSES - Datatähti 2022 alku - Results
Submission details
Task:Spiraali
Sender:severi
Submission time:2021-10-14 16:41:54 +0300
Language:Python3 (CPython3)
Status:READY
Result:15
Feedback
groupverdictscore
#1ACCEPTED15
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.02 s1details
#2--2details
#3--3details

Code

njat = str(input()).split(" ")

n = int(njat[0])
t = int(njat[1])
kordinaatit = []

i = 0
while i < t:
    kordinaatit.append(input().split(" "))
    i += 1


matka = n - 0.4

spiral = []



i = 0
j = 0
while i < n:
    spiral.append([])
    while j < n:
        spiral[i].append([])
        j += 1
    j = 0
    i += 1

j = -1
k = 1
mutsis = n * n
i = 0
s = 0
m = 0
suunta = [0, 1, 2, 3]


while k < mutsis + 1:
    if suunta[s] == 0:
        while m < round(matka):
            j += 1
            m += 1
            spiral[j][i].append(k)
            k += 1
        matka -= 0.5
        s += 1
        m = 0
    elif suunta[s] == 1:
        while m < round(matka):
            i += 1
            m += 1
            spiral[j][i].append(k)
            k += 1
        matka -= 0.5
        s += 1
        m = 0
    elif suunta[s] == 2:
        while m < round(matka):
            j -= 1
            m += 1
            spiral[j][i].append(k)
            k += 1
        matka -= 0.5
        s += 1
        m = 0
    else:
        while m < round(matka):
            i -= 1
            m += 1
            spiral[j][i].append(k)
            k += 1
        matka -= 0.5
        s = 0
        m = 0

i = 0

while i < t:
    x = int(kordinaatit[i][0]) - 1
    y = int(kordinaatit[i][1]) - 1
    print(spiral[x][y][0])
    i += 1

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
10 100
1 1
1 2
1 3
1 4
...

correct output
1
36
35
34
33
...

user output
1
36
35
34
33
...
Truncated

Test 2

Group: 2

Verdict:

input
1000 1000
371 263
915 322
946 880
53 738
...

correct output
773533
312166
206053
200080
593922
...

user output
(empty)

Test 3

Group: 3

Verdict:

input
1000000000 1000
177757853 827347032
409613589 419171337
739269360 256524697
328695530 896842209
...

correct output
571375684522141210
967321186816598569
762879105851175000
370065046779516790
936897883750373771
...

user output
(empty)