CSES - Datatähti 2022 alku - Results
Submission details
Task:Spiraali
Sender:Og3
Submission time:2021-10-05 17:19:59 +0300
Language:PyPy3
Status:READY
Result:35
Feedback
groupverdictscore
#1ACCEPTED15
#2ACCEPTED20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1details
#2ACCEPTED0.76 s2details
#3--3details

Code

n, t = [int(x) for x in input().split()]
kordlist = []
for h in range (t):
    y, x = [int(x) for x in input().split()]
    kordlist.append(str(y)+","+str(x))

#print(kordlist)
k = {}
num = n**2
x = 1
y = 1
z = 1
alas = True
oikea = False
ylos = False
rvasen = 2
roikea = n
rylos = 1
rala = n

while z<=num:
    key=str(y)+","+str(x)
    #print(key)
    #print(x, y, z)
    #print(rvasen, roikea, rylos, rala)
    k[key] = z
    if alas == True:
        y+=1
        if rala == y:
            alas = False
            oikea = True
            rala-=1
    elif oikea == True:
        x+=1
        if roikea == x:
            oikea = False
            ylos = True
            roikea-=1
    elif ylos == True:
        y-=1
        if rylos == y:
            ylos = False
            rylos+=1
    else:
        x-=1
        if rvasen == x:
            alas = True
            rvasen+=1

    z+=1

#print(k)
for n in range (t):
    print(k[kordlist[n]])

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
...

Test 2

Group: 2

Verdict: ACCEPTED

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

correct output
773533
312166
206053
200080
593922
...

user output
773533
312166
206053
200080
593922
...

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)