Submission details
Task:Tulkki
Sender:Emerald0X2
Submission time:2025-10-29 10:36:05 +0200
Language:Python3 (CPython3)
Status:READY
Result:12
Feedback
groupverdictscore
#1ACCEPTED12
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.02 s1, 2, 3details
#2ACCEPTED0.02 s1, 2, 3details
#3ACCEPTED0.02 s1, 2, 3details
#4ACCEPTED0.02 s1, 2, 3details
#5ACCEPTED0.02 s1, 2, 3details
#6ACCEPTED0.02 s1, 2, 3details
#70.02 s2, 3details
#80.02 s2, 3details
#90.02 s2, 3details
#100.02 s2, 3details
#110.02 s2, 3details
#120.02 s2, 3details
#130.02 s3details
#140.02 s3details
#150.02 s3details
#160.02 s3details
#170.02 s3details
#180.02 s3details

Code

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,
}
 
text_in = ""
 
while True:
    try:
        line = input()
    except EOFError:
        break
    if(line != ""):
        if "#" in line:
            line = line.split("#", 1)[0].strip()
        if(line != "" or str.isspace(line)):    
            text_in += line.strip().strip() + " "
 
text_in = text_in.split(" ")

command = ""
repeat_loop = False
repeats_found = 1
closing_brackets_found = 0

looped = 0

parsed = []

for line in text_in:
    if repeat_loop:
        if(looped < 3):
            command += line + " "
            looped += 1
        else:
            if repeats_found > closing_brackets_found:
                if(line == "REPEAT"):
                    repeats_found += 1
                    command += line + " "
                if(line == ")"):
                    closing_brackets_found += 1  
                    command += line + " "
                else:
                    command += line + " "
            else:
                parsed.append(command.strip())
                command = ""
                repeat_loop = False

    elif(line == "PRINT" or line == "INCREASE" or line == "CLEAR"):
        command = line
       
    elif (line == "REPEAT"):
        command = line + " "
        repeat_loop = True
        looped = 0
        repeats_found = 1
        closing_brackets_found = 0
    
    elif(line in variables and command != ""):
        parsed.append(command + " " + line)
        command = ""

def _repeat(count, _command):

    for loop in range(count):
        _loop = _command.split()

        loop_command = []

        command = ""
        repeat_loop = False
        repeats_found = 1
        closing_brackets_found = 0

        for _line in _loop:
            _line = _line.strip()
            if repeat_loop:
                if(looped < 3):
                    command += _line + " "
                    looped += 1
                else:
                    if repeats_found > closing_brackets_found:
                        if(_line == "REPEAT"):
                            repeats_found += 1
                            command += _line + " "
                        if(_line == ")"):
                            closing_brackets_found += 1  
                            command += _line + " "
                        else:
                            command += _line + " "
                    else:
                        loop_command.append(command.strip())
                        command = ""
                        repeat_loop = False

            elif(_line == "PRINT" or _line == "INCREASE" or _line == "CLEAR"):
                command = _line
            
            elif (_line == "REPEAT"):
                command = _line + " "
                repeat_loop = True
                looped = 0
                repeats_found = 1
                closing_brackets_found = 0
            
            elif(_line in variables and command != ""):
                loop_command.append(command + " " + _line)
                command = ""


        print(loop_command)

        for command in loop_command:
            action = command.split()[0]
            var = command.split()[1]
            match action:
                case "PRINT":
                    print(variables[var])
                case "INCREASE":
                    variables[var] += 1
                case "CLEAR":
                    variables[var] = 0
                case "REPEAT":
                    code_to_loop = command[16:-1].strip()
                    _repeat(variables[var], code_to_loop)


# ----------------------------------

for command in parsed:
    action = command.split()[0]
    var = command.split()[1]
    match action:
        case "PRINT":
            print(variables[var])
        case "INCREASE":
            variables[var] += 1
        case "CLEAR":
            variables[var] = 0
        case "REPEAT":
            code_to_loop = command[16:-1].strip().removeprefix("REPEAT")
            _repeat(variables[var], code_to_loop)

Test details

Test 1 (public)

Group: 1, 2, 3

Verdict: ACCEPTED

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

correct output
0 1 2 0 

user output
0
1
2
0

Test 2 (public)

Group: 1, 2, 3

Verdict: ACCEPTED

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

correct output
1 3 

user output
1
3

Test 3 (public)

Group: 1, 2, 3

Verdict: ACCEPTED

input
# Create number 3
INCREASE X
INCREASE X
INCREASE X

...

correct output

user output
3

Test 4 (public)

Group: 1, 2, 3

Verdict: ACCEPTED

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

Test 5 (public)

Group: 1, 2, 3

Verdict: ACCEPTED

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

correct output
999 

user output
999

Test 6 (public)

Group: 1, 2, 3

Verdict: ACCEPTED

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

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
['PRINT A']
5
['PRINT A']
5
['PRINT A']
...

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
['CLEAR A', 'PRINT A']
0
['CLEAR A', 'PRINT A']
0
['CLEAR A', 'PRINT A']
...

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
['INCREASE A', 'PRINT A']
6
['INCREASE A', 'PRINT A']
7
['INCREASE A', 'PRINT A']
...

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
['INCREASE B', 'INCREASE C']
['INCREASE B', 'INCREASE C']
['INCREASE B', 'INCREASE C']
['INCREASE B', 'INCREASE C']
['INCREASE B', 'INCREASE C']
...

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
['INCREASE A']
['INCREASE A']
['INCREASE A']
['INCREASE A']
['INCREASE A']
...

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
['INCREASE A', 'INCREASE B']
['INCREASE A', 'INCREASE B']
['INCREASE A', 'INCREASE B']
['INCREASE A', 'INCREASE A']
['INCREASE A', 'INCREASE A']
...

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
['INCREASE B']
['INCREASE B']
['INCREASE B']
['INCREASE B']
['INCREASE B']

Feedback: Output is shorter than expected

Test 14 (public)

Group: 3

Verdict:

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

correct output
12 

user output
[]
[]
[]

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

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
['REPEAT B TIMES ( INCREASE B ...

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
[]
[]

Feedback: Output is shorter 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
['INCREASE X', 'CLEAR A', 'REP...

Error:
Traceback (most recent call last):
  File "/box/input/code.py", line 167, in <module>
    _repeat(variables[var], code_to_loop)
  File "/box/input/code.py", line 150, in _repeat
    _repeat(variables[var], code_to_loop)
KeyError: 'REPEAT'