Submission details
Task:Tulkki
Sender:rene
Submission time:2025-11-01 14:46:18 +0200
Language:Python3 (PyPy3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.04 s1, 2, 3details
#20.07 s1, 2, 3details
#30.04 s1, 2, 3details
#40.04 s1, 2, 3details
#50.04 s1, 2, 3details
#60.04 s1, 2, 3details
#70.04 s2, 3details
#80.04 s2, 3details
#90.04 s2, 3details
#100.04 s2, 3details
#110.04 s2, 3details
#120.04 s2, 3details
#130.04 s3details
#140.04 s3details
#150.04 s3details
#160.04 s3details
#170.04 s3details
#180.04 s3details

Code

def byebyecomments(line):
  hash_pos = line.find('#')
  if hash_pos != -1:
    return line[:hash_pos]
  return line

def partize(code):
  lines = code.split('\n')
  cleaned_lines = [byebyecomments(line) for line in lines]
  cleaned_code = '\n'.join(cleaned_lines)
    
  return cleaned_code.split()

def parseandrun(parts, variables, start_index=0):
  i = start_index
  output = []
  
  while i < len(parts):
    part = parts[i]
    
    if part == ')':
      return i, output
    elif part == 'CLEAR':
      var = parts[i + 1]
      variables[var] = 0
      i += 2
    elif part == 'INCREASE':
      var = parts[i + 1]
      variables[var] += 1
      i += 2
    elif part == 'PRINT':
      var = parts[i + 1]
      output.append(str(variables[var]))
      i += 2
    elif part == 'REPEAT':
      var = parts[i + 1]
      repeat_count = variables[var]
      i += 4

      for _ in range(repeat_count):
        next_i, block_output = parseandrun(parts, variables, i)
        output.extend(block_output)
        
      i = next_i + 1
    else:
      i += 1
  
  return i, output

def main():
  code = input()

  variables = {chr(ord('A') + i): 0 for i in range(26)}

  parts = partize(code)

  index, output = parseandrun(parts, variables)

  if output:
    print(' '.join(output)) 

main()

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
0

Feedback: Output is shorter than expected

Test 2 (public)

Group: 1, 2, 3

Verdict:

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

correct output
1 3 

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 62, in <module>
    main()
  File "input/code.py", line 57, in main
    index, output = parseandrun(parts, variables)
  File "input/code.py", line 28, in parseandrun
    var = parts[i + 1]
IndexError: list index out of range

Test 3 (public)

Group: 1, 2, 3

Verdict:

input
# Create number 3
INCREASE X
INCREASE X
INCREASE X

...

correct output

user output
(empty)

Feedback: Output is shorter 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
(empty)

Feedback: Output is shorter 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
(empty)

Feedback: Output is shorter 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
0

Feedback: Output is shorter 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
(empty)

Feedback: Output is shorter 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
(empty)

Feedback: Output is shorter 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
(empty)

Feedback: Output is shorter 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
(empty)

Feedback: Output is shorter 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
(empty)

Feedback: Output is shorter than expected

Test 12 (public)

Group: 2, 3

Verdict:

input
INCREASE A
INCREASE A

INCREASE B
INCREASE B
...

correct output
42 

user output
(empty)

Feedback: Output is shorter 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
(empty)

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
(empty)

Feedback: Output is shorter than expected

Test 15 (public)

Group: 3

Verdict:

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

correct output
531441 

user output
(empty)

Feedback: Output is shorter than expected

Test 16 (public)

Group: 3

Verdict:

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

correct output
1337 

user output
(empty)

Feedback: Output is shorter 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
(empty)

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
(empty)

Feedback: Output is shorter than expected