CSES - Datatähti 2025 alku - Results
Submission details
Task:Robotti
Sender:UsernameEino
Submission time:2024-11-03 20:56:04 +0200
Language:Python3 (PyPy3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.04 s1, 2details
#20.04 s1, 2details
#30.04 s1, 2details
#40.04 s1, 2details
#50.04 s1, 2details
#60.07 s1, 2details
#70.04 s1, 2details
#80.05 s1, 2details
#90.04 s1, 2details
#100.04 s1, 2details
#110.04 s1, 2details
#120.05 s2details
#130.07 s2details
#140.06 s2details
#150.06 s2details
#160.06 s2details
#170.06 s2details
#180.08 s2details
#190.37 s2details
#200.11 s2details
#210.06 s2details
#220.07 s2details
#23--2details
#240.08 s2details

Code

n=input()
m=input()

string = list(m)

global playing
playing = True

global rloc
rloc = 0

global pos
pos = 0

global matka
matka = 0

global kolik
kolik = 0

def etsir(x):
    global rloc
    for y in range(0,len(m)):
        if x[y] == 'R':
            rloc = y
            return y, 'R', rloc

def etsi(x):
    global rloc
    global pos
    pos = [pos for pos, char in enumerate(x) if char == '*']
    for y in range(0,len(pos)):
        if pos[y] > rloc:
            pos.insert(y, rloc)
            rloc = y
            return
    pos.insert(len(pos),rloc)
    return pos

def vertailu(x):
    global rloc
    global pos
    global matka
    global kolik
    if rloc == len(pos)-1:
        matka=matka+pos[rloc]-pos[rloc-1]
        pos.pop(rloc)
        rloc=rloc-1
        kolik += 1
        return 1
    elif rloc == 0:
         matka=matka+pos[rloc+1]-pos[rloc]
         pos.pop(rloc)
         kolik += 1
         return 1
    elif pos[rloc]-pos[rloc-1] > pos[rloc+1]-pos[rloc]:
        matka = matka+pos[rloc+1]-pos[rloc]
        pos.pop(rloc)
        kolik += 1
        return 1
    elif pos[rloc]-pos[rloc-1] < pos[rloc+1]-pos[rloc]:
         matka = matka+pos[rloc]-pos[rloc-1]
         pos.pop(rloc)
         rloc = rloc-1
         kolik += 1
         return 1
    else:
        return -1

etsir(string)
etsi(m)

if len(pos) > 1:
    tulos = 1
else:
    tulos = -1
while tulos != -1:
   tulos = vertailu(1)
   if len(pos) == 1:
       tulos = -1
print(pos)
print(matka, kolik)

Test details

Test 1

Group: 1, 2

Verdict:

input
1
R

correct output
0 0

user output
[0]
0 0

Test 2

Group: 1, 2

Verdict:

input
10
...R......

correct output
0 0

user output
[3]
0 0

Test 3

Group: 1, 2

Verdict:

input
10
**.R...***

correct output
12 5

user output
[9]
12 5

Test 4

Group: 1, 2

Verdict:

input
10
***R******

correct output
0 0

user output
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
0 0

Test 5

Group: 1, 2

Verdict:

input
1000
R................................

correct output
947 9

user output
[947]
947 9

Test 6

Group: 1, 2

Verdict:

input
1000
.................................

correct output
886 9

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 78, in <module>
    tulos = vertailu(1)
  File "input/code.py", line 56, in vertailu
    elif pos[rloc]-pos[rloc-1] > pos[rloc+1]-pos[rloc]:
IndexError: list index out of range

Test 7

Group: 1, 2

Verdict:

input
1000
.....*..*....**..**..*......*....

correct output
1287 400

user output
[5]
1287 400

Test 8

Group: 1, 2

Verdict:

input
1000
************.*****************...

correct output
0 0

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

Test 9

Group: 1, 2

Verdict:

input
1000
******************************...

correct output
0 0

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

Test 10

Group: 1, 2

Verdict:

input
1000
R*****************************...

correct output
999 999

user output
[999]
999 999

Test 11

Group: 1, 2

Verdict:

input
1000
******************************...

correct output
999 999

user output
[0]
999 999

Test 12

Group: 2

Verdict:

input
10000
.......**........*...........*...

correct output
10971 999

user output
[9980]
10971 999

Test 13

Group: 2

Verdict:

input
10000
*..*....*......*.....*..*........

correct output
9999 999

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 78, in <module>
    tulos = vertailu(1)
  File "input/code.py", line 56, in vertailu
    elif pos[rloc]-pos[rloc-1] > pos[rloc+1]-pos[rloc]:
IndexError: list index out of range

Test 14

Group: 2

Verdict:

input
10000
*.*.*...**.*...*....**.**.**.....

correct output
18766 5000

user output
[0]
18766 5000

Test 15

Group: 2

Verdict:

input
10000
R*****************************...

correct output
9999 9999

user output
[9999]
9999 9999

Test 16

Group: 2

Verdict:

input
10000
******************************...

correct output
9999 9999

user output
[0]
9999 9999

Test 17

Group: 2

Verdict:

input
200000
.................................

correct output
0 0

user output
[100000]
0 0

Test 18

Group: 2

Verdict:

input
200000
.................................

correct output
299934 10000

user output
[199994]
299934 10000

Test 19

Group: 2

Verdict:

input
200000
**.***....**..**.....***.*..*....

correct output
299998 100000

user output
[0]
299998 100000

Test 20

Group: 2

Verdict:

input
200000
******************************...

correct output
0 0

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

Test 21

Group: 2

Verdict:

input
200000
R................................

correct output
133765 3

user output
[133765]
133765 3

Test 22

Group: 2

Verdict:

input
200000
R................................

correct output
199982 5000

user output
[199982]
199982 5000

Test 23

Group: 2

Verdict:

input
200000
R*****************************...

correct output
199999 199999

user output
(empty)

Test 24

Group: 2

Verdict:

input
200000
******************************...

correct output
199999 199999

user output
[0]
199999 199999