CSES - HIIT Open 2024 - Results
Submission details
Task:Gerbil's run
Sender:Viestipojat
Submission time:2024-11-16 15:08:03 +0200
Language:Python3 (PyPy3)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.04 sdetails
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.04 sdetails
#10ACCEPTED0.04 sdetails
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.04 sdetails
#13ACCEPTED0.04 sdetails
#14ACCEPTED0.04 sdetails
#15ACCEPTED0.04 sdetails
#16ACCEPTED0.04 sdetails
#17ACCEPTED0.04 sdetails
#18ACCEPTED0.04 sdetails
#19ACCEPTED0.04 sdetails
#20ACCEPTED0.04 sdetails
#21ACCEPTED0.04 sdetails
#22ACCEPTED0.04 sdetails
#23ACCEPTED0.04 sdetails
#24ACCEPTED0.05 sdetails
#25ACCEPTED0.04 sdetails
#26ACCEPTED0.04 sdetails
#27ACCEPTED0.04 sdetails
#28ACCEPTED0.04 sdetails
#29ACCEPTED0.04 sdetails
#30ACCEPTED0.04 sdetails
#31ACCEPTED0.05 sdetails
#32ACCEPTED0.05 sdetails
#33ACCEPTED0.05 sdetails
#34ACCEPTED0.05 sdetails
#35ACCEPTED0.05 sdetails
#36ACCEPTED0.05 sdetails
#37ACCEPTED0.05 sdetails
#38ACCEPTED0.05 sdetails
#39ACCEPTED0.06 sdetails
#40ACCEPTED0.06 sdetails
#41ACCEPTED0.06 sdetails
#42ACCEPTED0.06 sdetails
#43ACCEPTED0.06 sdetails
#44ACCEPTED0.06 sdetails
#45ACCEPTED0.06 sdetails

Code

from math import *

r = int(input())

c = 2*pi*r

n = floor(pi*r)

if floor(c) % 2 == 0:
    x = [2*i for i in range(n)]
    y = [a+1 for a in x]
    print(*(f"{x[i]}/1 {y[i]}/1" for i in range(n)), sep="\n")
else:
    x = [2*i for i in range(n-1)]
    y = [a+1 for a in x]
    left = c - y[-1]
    o_len = (left-1)/2
    den = 100000
    o_len_num = floor(o_len*den)
    #print(o_len_num)
    x_last_num = y[-1]*den + o_len_num
    y_last_num = x_last_num + den
    xs = [f"{a}/1" for a in x]
    ys = [f"{a}/1" for a in y]
    xs.append(f"{x_last_num}/{den}")
    ys.append(f"{y_last_num}/{den}")
    print(*(f"{xs[i]} {ys[i]}" for i in range(len(xs))), sep="\n")
    #print("c",c)
    #print("latter o_len", c-y_last_num/den)
    #print("o_len", o_len)
    #print("left", left)
    #print("total left", 2*o_len+1)
#    x.append(x_last_num/den)
 #   y.append(y_last_num/den)


#N = len(x)
#for i in range(N):
#    #print(i)
#    assert(abs(y[(i-1)%N] - x[i]) % c >= 1 )
#    assert(abs(x[(i+1)%N]-y[i]) % c >= 1)
#    assert(1 <= abs(y[i]-x[i])%c or abs(y[(i+1)%2]-x[(i+1)%2])%c <= 1)
    

Test details

Test 1

Verdict: ACCEPTED

input
1

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1

Test 2

Verdict: ACCEPTED

input
2

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 3

Verdict: ACCEPTED

input
3

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 4

Verdict: ACCEPTED

input
4

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 5

Verdict: ACCEPTED

input
5

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 6

Verdict: ACCEPTED

input
6

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 7

Verdict: ACCEPTED

input
7

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 8

Verdict: ACCEPTED

input
8

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 9

Verdict: ACCEPTED

input
9

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 10

Verdict: ACCEPTED

input
10

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 11

Verdict: ACCEPTED

input
11

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 12

Verdict: ACCEPTED

input
12

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 13

Verdict: ACCEPTED

input
13

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 14

Verdict: ACCEPTED

input
14

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 15

Verdict: ACCEPTED

input
15

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 16

Verdict: ACCEPTED

input
16

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 17

Verdict: ACCEPTED

input
17

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 18

Verdict: ACCEPTED

input
18

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 19

Verdict: ACCEPTED

input
19

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 20

Verdict: ACCEPTED

input
20

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 21

Verdict: ACCEPTED

input
50

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 22

Verdict: ACCEPTED

input
98

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 23

Verdict: ACCEPTED

input
99

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 24

Verdict: ACCEPTED

input
100

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 25

Verdict: ACCEPTED

input
101

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 26

Verdict: ACCEPTED

input
102

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 27

Verdict: ACCEPTED

input
158

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 28

Verdict: ACCEPTED

input
159

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 29

Verdict: ACCEPTED

input
160

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 30

Verdict: ACCEPTED

input
161

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 31

Verdict: ACCEPTED

input
313

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 32

Verdict: ACCEPTED

input
314

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 33

Verdict: ACCEPTED

input
315

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 34

Verdict: ACCEPTED

input
316

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 35

Verdict: ACCEPTED

input
317

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 36

Verdict: ACCEPTED

input
318

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 37

Verdict: ACCEPTED

input
319

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 38

Verdict: ACCEPTED

input
320

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 39

Verdict: ACCEPTED

input
500

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 40

Verdict: ACCEPTED

input
990

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 41

Verdict: ACCEPTED

input
996

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 42

Verdict: ACCEPTED

input
997

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 43

Verdict: ACCEPTED

input
998

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 44

Verdict: ACCEPTED

input
999

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...

Test 45

Verdict: ACCEPTED

input
1000

correct output
0/1000000 1000000/1000000
2000000/1000000 3000000/100000...

user output
0/1 1/1
2/1 3/1
4/1 5/1
6/1 7/1
8/1 9/1
...