Submission details
Task:Tulkki
Sender:Emerald0X2
Submission time:2025-10-28 21:11:15 +0200
Language:Python3 (CPython3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.02 s1, 2, 3details
#20.02 s1, 2, 3details
#30.02 s1, 2, 3details
#40.02 s1, 2, 3details
#50.03 s1, 2, 3details
#60.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.51 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() + " "
 
parsed = []
 
lines = text_in.split(" ")
 
whitespace_count = lines.count("")
for i in range(whitespace_count):
    lines.remove("")
 
pos = 0
 
while pos < len(lines)-1:
    if(lines[pos] != "REPEAT"):
        parsed.append(lines[pos].strip() + " " + lines[pos+1].strip())
    elif(lines[pos] == "REPEAT"):
        loop_ = ""
        skipped = 0
        closing_pos = lines.index(")", pos)
        j=pos
        while j < closing_pos:
            loop_ += lines[j] + " "
            if(lines[j] == "REPEAT"):
                closing_pos = lines.index(")", closing_pos)
                skipped += 1
            skipped += 1
            j+=1
        pos += skipped-2
        loop_ = loop_.strip()
        parsed.append(loop_)
    pos += 2
 
repeating = False

print(parsed)

def repeat(count, repeat_):
    for i in range(count):
        cur_loop = 0
        for line in repeat_:
            match line.split(" ")[0]:
                case "PRINT":
                    print(variables[line.split(" ")[1]])
                case "INCREASE":
                    variables[line.split(" ")[1]] += 1
                case "CLEAR":
                    variables[line.split(" ")[1]] = 0
                case "REPEAT":
                    pos = 0
 
                    loop_code = []
                    code = repeat_[cur_loop].split(" ")
                    code = code[4:]
                    if code[len(code)-1] != ")":
                        code.append(")")
                    code = code[:-1]
                    if "REPEAT" in code:
                        code.append(")")
 
                    while pos < len(code)-1:
                        if(code[pos] != "REPEAT"):
                            loop_code.append(code[pos].strip() + " " + code[pos+1].strip())
                        elif(code[pos] == "REPEAT"):
                            loop_ = ""
                            skipped = 0
                            closing_pos = code.index(")", pos)
                            j = pos
                            while j < closing_pos:
                                loop_ += code[j] + " "
                                if(code[j] == "REPEAT"):
                                    closing_pos = code.index(")", closing_pos)
                                    skipped += 1
                                skipped += 1
                                j+=1
                            pos += skipped-2
                            loop_ = loop_.strip()
                            loop_code.append(loop_)
                        pos += 2
                    num = variables[line.split(" ")[1]]
                    repeat(num, loop_code)
            cur_loop += 1
 
loops = 0
 
for line in parsed:
    match line.split(" ")[0]:
        case "PRINT":
            print(variables[line.split(" ")[1]])
        case "INCREASE":
            variables[line.split(" ")[1]] += 1
        case "CLEAR":
            variables[line.split(" ")[1]] = 0
        case "REPEAT":
            pos = 0
 
            loop_code = []
            code = parsed[parsed.index(line, loops)].split(" ")
            if code[len(code)-1] != ")":
                code.append(")")
            code = code[4:]
            code = code[:-1]
            if "REPEAT" in code:
                code.append(")")
 
            while pos < len(code)-1:
                if(code[pos] != "REPEAT"):
                    loop_code.append(code[pos].strip() + " " + code[pos+1].strip())
                elif(code[pos] == "REPEAT"):
                    loop_ = ""
                    skipped = 0
                    closing_pos = code.index(")", pos)
                    j = pos
                    while j < closing_pos:
                        loop_ += code[j] + " "
                        if(code[j] == "REPEAT"):
                            closing_pos = code.index(")", closing_pos)
                            skipped += 1
                        skipped += 1
                        j += 1
                    pos += skipped-2
                    loop_ = loop_.strip()
                    loop_code.append(loop_)
                pos += 2

            repeat(variables[line.split(" ")[1]], loop_code)
    loops += 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
['PRINT X', 'INCREASE X', 'PRI...

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
['INCREASE X', 'PRINT X', 'INC...

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
['INCREASE X', 'INCREASE X', '...

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

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
['INCREASE X', 'INCREASE X', '...

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
['PRINT X', 'PRINT X', 'PRINT ...

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

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', '...

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

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

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
['INCREASE X', 'INCREASE X', '...

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

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

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 V', 'INCREASE X', '...

Feedback: Output is longer than expected