| Task: | Spiraali |
| Sender: | jaaskelainen |
| Submission time: | 2021-10-07 00:25:28 +0300 |
| Language: | Python3 (CPython3) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | TIME LIMIT EXCEEDED | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.03 s | 1 | details |
| #2 | WRONG ANSWER | 0.42 s | 2 | details |
| #3 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
def move(dir):
global step
global size
global x
global y
global newX
global newY
global ans
for z in range(size-1):
newY+=1
step+=1
if(newY == y and newX == x):
ans.append(step)
break
c = input("")
c = c.split()
n = int(c[0])
t = int(c[1])
ans = []
for s in range(t):
i = input("")
coord = i.split()
y = int(coord[0])
x = int(coord[1])
size = n
step = 0
maxsize = n
if(x == 1 and y== 1):
step = 1
ans.append(step)
elif(x-y == 1):
step = (x-1)*4*n - (((x-1)**2)*4)
ans.append(step)
elif(x-y < 1):
if(y == n):
step = 1
newX = 1
newY = 1
elif(x <= n/2):
step = ((x-1))*4*n - ((((x-1))**2)*4)
size -= 2*(x-1)
newX = x
newY = x-1
else:
step = ((((n+1)-x)))*4*n - ((((((n+1)-x)))**2)*4)+1
newX = (n+1)-x
newY = (n+1)-x
ansExists = False
z = 0
while(z < (size-1) and ansExists==False):
newY+=1
step+=1
if(newY == y and newX == x):
ans.append(step)
ansExists = True
z+=1
z = 0
while(ansExists == False and z < (size-1)):
newX+=1
step+=1
if(newY == y and newX == x):
ans.append(step)
ansExists = True
z+=1
z = 0
while(ansExists == False and z < (size-1)):
newY-=1
step+=1
if(newY == y and newX == x):
ans.append(step)
ansExists = True
z += 1
z = 0
while(ansExists == False and z < (size-1)):
newX-=1
step+=1
if(newY == y and newX == x):
ans.append(step)
ansExists = True
z += 1
else:
if(x == n):
step = 1
newX = 1
newY = 1
elif(y<=n/2):
step = ((y))*4*n - ((((y))**2)*4)
size -= 2*(y)
newY = y
newX = y+1
else:
step = ((((n+1)-y)))*4*n - ((((((n+1)-y)))**2)*4)+1
newX = (n+1)-y
newY = (n+1)-y
difX = newX - x
difY = newY - y
if(difX < 0 and difY == 0):
step += difX
ans.append(step)
else:
ansExists = False
z = 0
while(z < (size-1) and ansExists==False):
newY+=1
step+=1
if(newY == y and newX == x):
ans.append(step)
ansExists = True
z+=1
z = 0
while(ansExists == False and z < (size-1)):
newX+=1
step+=1
if(newY == y and newX == x):
ans.append(step)
ansExists = True
z+=1
z = 0
while(ansExists == False and z < (size-1)):
newY-=1
step+=1
if(newY == y and newX == x):
ans.append(step)
ansExists = True
z += 1
z = 0
while(ansExists == False and z < (size-1)):
newX-=1
step+=1
if(newY == y and newX == x):
ans.append(step)
ansExists = True
z += 1
for x in ans:
print(x)
Test details
Test 1
Group: 1
Verdict: WRONG ANSWER
| 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: WRONG ANSWER
| input |
|---|
| 1000 1000 371 263 915 322 946 880 53 738 ... |
| correct output |
|---|
| 773533 312166 206053 200080 593922 ... |
| user output |
|---|
| 773533 200080 724839 842835 252769 ... Truncated |
Test 3
Group: 3
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 1000000000 1000 177757853 827347032 409613589 419171337 739269360 256524697 328695530 896842209 ... |
| correct output |
|---|
| 571375684522141210 967321186816598569 762879105851175000 370065046779516790 936897883750373771 ... |
| user output |
|---|
| (empty) |
