Submission details
Task:Tulkki
Sender:dankke
Submission time:2025-11-01 10:43:42 +0200
Language:Python3 (PyPy3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.06 s1, 2, 3details
#20.06 s1, 2, 3details
#30.06 s1, 2, 3details
#40.06 s1, 2, 3details
#50.09 s1, 2, 3details
#60.10 s1, 2, 3details
#70.06 s2, 3details
#80.06 s2, 3details
#90.06 s2, 3details
#100.07 s2, 3details
#110.06 s2, 3details
#120.06 s2, 3details
#130.06 s3details
#140.06 s3details
#150.14 s3details
#160.07 s3details
#170.21 s3details
#180.12 s3details

Code

import re

variables = {
    "A" : 0,
    "B" : 0,
    "C" : 0,
    "D" : 0,
    "E" : 0,
    "F" : 0,
    "G" : 0,
    "H" : 0,
    "I" : 0,
    "J" : 0,
    "K" : 0,
    "L" : 0,
    "M" : 0,
    "N" : 0,
    "O" : 0,
    "P" : 0,
    "Q" : 0,
    "R" : 0,
    "S" : 0,
    "T" : 0,
    "U" : 0,
    "V" : 0,
    "W" : 0,
    "X" : 0,
    "Y" : 0,
    "Z" : 0
}

program = ""
while True:
    try:
        line = input()
        if line == "ä":
            raise
        program = program + line + "\n "
    except:
        break

program = re.sub("#.*\n", " ", program)
program = re.sub("[\t|\n]", " ", program)
program = re.sub(" +", " ", program)
program = re.sub("INCREASE ", "I", program)
program = re.sub("CLEAR ", "C", program)
program = re.sub("PRINT ", "P", program)
program = re.sub("REPEAT ", "R", program)
program = re.sub("TIMES ", "", program)

commands = program.split()

print(commands)

pointer = 0
brackets_open = 0
loops = []

while pointer < len(commands):
    command = commands[pointer]
    if command.startswith("I"):
        variables[command[1]] += 1
    elif command.startswith("C"):
        variables[command[1]] = 0
    elif command.startswith("P"):
        print(variables[command[1]], end=" ")
    elif command.startswith("R"):
        pointer += 1
        brackets_open += 1
        times = variables[command[1]]
        # Skip loop
        if times == 0:
            brackets_at_start = brackets_open -1
            while True:
                pointer += 1
                if commands[pointer] == "(":
                    brackets_open += 1
                elif commands[pointer] == ")":
                    brackets_open -= 1
                if brackets_open == brackets_at_start:
                    break
        else:
            loops.append([times, 0, pointer])
    elif command == ")":
        loops[-1][1] += 1
        if loops[-1][0] > loops[-1][1]:
            pointer = loops[-1][2]
        else:
            loops.pop()
            brackets_open -= 1
    pointer += 1
    

Test details

Test 1 (public)

Group: 1, 2, 3

Verdict:

input
PRINT X
INCREASE X
PRINT X
INCREASE X
PRINT X
...

correct output
0 1 2 0 

user output
['PX', 'IX', 'PX', 'IX', 'PX',...

Feedback: Output is longer than expected

Test 2 (public)

Group: 1, 2, 3

Verdict:

input
INCREASE
X
# aybabtu
   PRINT    X
INCREASE # test
...

correct output
1 3 

user output
['IX', 'PX', 'IX', 'IX', 'PX']
1 3 

Feedback: Output is longer than expected

Test 3 (public)

Group: 1, 2, 3

Verdict:

input
# Create number 3
INCREASE X
INCREASE X
INCREASE X

...

correct output

user output
['IX', 'IX', 'IX', 'PX']

Feedback: Output is longer than expected

Test 4 (public)

Group: 1, 2, 3

Verdict:

input
INCREASE A
PRINT A
INCREASE B
PRINT B
INCREASE C
...

correct output
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
['IA', 'PA', 'IB', 'PB', 'IC',...

Feedback: Output is longer than expected

Test 5 (public)

Group: 1, 2, 3

Verdict:

input
INCREASE X
INCREASE X
INCREASE X
INCREASE X
INCREASE X
...

correct output
999 

user output
['IX', 'IX', 'IX', 'IX', 'IX',...

Feedback: Output is longer than expected

Test 6 (public)

Group: 1, 2, 3

Verdict:

input
PRINT X
PRINT X
PRINT X
PRINT X
PRINT X
...

correct output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
['PX', 'PX', 'PX', 'PX', 'PX',...

Feedback: Output is longer than expected

Test 7 (public)

Group: 2, 3

Verdict:

input
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
...

correct output
5 5 5 5 5 

user output
['IA', 'IA', 'IA', 'IA', 'IA',...

Feedback: Output is longer than expected

Test 8 (public)

Group: 2, 3

Verdict:

input
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
...

correct output
0 0 0 0 0 

user output
['IA', 'IA', 'IA', 'IA', 'IA',...

Feedback: Output is longer than expected

Test 9 (public)

Group: 2, 3

Verdict:

input
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
...

correct output
6 7 8 9 10 

user output
['IA', 'IA', 'IA', 'IA', 'IA',...

Feedback: Output is longer than expected

Test 10 (public)

Group: 2, 3

Verdict:

input
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
...

correct output
5 5 

user output
['IA', 'IA', 'IA', 'IA', 'IA',...

Feedback: Output is longer than expected

Test 11 (public)

Group: 2, 3

Verdict:

input
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
...

correct output
20 

user output
['IA', 'IA', 'IA', 'IA', 'IA',...

Feedback: Output is longer than expected

Test 12 (public)

Group: 2, 3

Verdict:

input
INCREASE A
INCREASE A

INCREASE B
INCREASE B
...

correct output
42 

user output
['IA', 'IA', 'IB', 'IB', 'IB',...

Feedback: Output is longer than expected

Test 13 (public)

Group: 3

Verdict:

input
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
...

correct output
1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 

user output
['IA', 'IA', 'IA', 'IA', 'IA',...

Feedback: Output is longer than expected

Test 14 (public)

Group: 3

Verdict:

input
# Create number 3
INCREASE A INCREASE A INCREASE...

correct output
12 

user output
['IA', 'IA', 'IA', 'IB', 'IB',...

Feedback: Output is longer than expected

Test 15 (public)

Group: 3

Verdict:

input
INCREASE X
INCREASE X
INCREASE X
INCREASE X
INCREASE X
...

correct output
531441 

user output
['IX', 'IX', 'IX', 'IX', 'IX',...

Feedback: Output is longer than expected

Test 16 (public)

Group: 3

Verdict:

input
INCREASE A
INCREASE A
INCREASE A
INCREASE A
INCREASE A
...

correct output
1337 

user output
['IA', 'IA', 'IA', 'IA', 'IA',...

Feedback: Output is longer than expected

Test 17 (public)

Group: 3

Verdict:

input
INCREASE A
INCREASE A

REPEAT A TIMES (
    REPEAT A TIMES (
...

correct output
1 2 1 2 1 1 3 4 3 4 3 4 3 4 3 ...

user output
['IA', 'IA', 'RA', '(', 'RA', ...

Feedback: Output is longer than expected

Test 18 (public)

Group: 3

Verdict:

input
# Efficient algorithm for find...

correct output
2 3 5 7 11 13 17 19 23 29 31 3...

user output
['IV', 'IX', 'IX', 'IB', 'RX',...

Feedback: Output is longer than expected