CSES - Datatähti 2017 loppu - Results
Submission details
Task:Ohjelma
Sender:FSMnArmosta
Submission time:2017-01-19 14:34:17 +0200
Language:Python3
Status:READY
Result:21
Feedback
groupverdictscore
#1ACCEPTED21
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#2ACCEPTED0.06 s1details
#3ACCEPTED0.06 s1details
#4ACCEPTED0.07 s1details
#5ACCEPTED0.07 s1details
#6ACCEPTED0.06 s1details
#7ACCEPTED0.07 s1details
#8ACCEPTED0.08 s1details
#9ACCEPTED0.05 s1details
#10ACCEPTED0.07 s1details
#11--2details
#12--2details
#13--2details
#14--2details
#15--2details
#16--2details
#17--2details
#18--2details
#19--2details
#20--2details
#21--3details
#22--3details
#23--3details
#24--3details
#25--3details
#26--3details
#27--3details
#28--3details
#29--3details
#30--3details

Code

tgt = int(input())

def addTo(base, command):
    if base == ["END"]:
        return command + base
    else:
        return base[:-1]+command+base[-1:]

def programsFor(num):
    if num == 1:
        return ["END"]
    else:
        pf2 = []
        pf3 = []
        if num % 2 == 0:
            pf2 = programsFor(num // 2)
        if num - 3 > 0:
            pf3 = programsFor(num - 3)
        
        if pf2 == [] and pf3 == []:
            return []
        elif pf2 != [] and pf3 == []:
            return addTo(pf2, ["MUL"]) 
        elif pf2 == [] and pf3 != []:
            return addTo(pf3, ["ADD"])
        else:
            if len(pf2) > len(pf3):
                return addTo(pf3, ["ADD"])
            else:
                return addTo(pf2, ["MUL"])

program = programsFor(tgt)

if program == []:
    print(0)
else:
    print(len(program))
    print("\n".join(program))

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
58

correct output
8
MUL
ADD
MUL
ADD
...

user output
8
MUL
ADD
MUL
ADD
...

Test 2

Group: 1

Verdict: ACCEPTED

input
72

correct output
0

user output
0

Test 3

Group: 1

Verdict: ACCEPTED

input
83

correct output
8
MUL
ADD
MUL
MUL
...

user output
8
MUL
ADD
MUL
MUL
...

Test 4

Group: 1

Verdict: ACCEPTED

input
53

correct output
8
ADD
MUL
ADD
MUL
...

user output
8
ADD
MUL
ADD
MUL
...

Test 5

Group: 1

Verdict: ACCEPTED

input
100

correct output
8
ADD
MUL
ADD
MUL
...

user output
8
ADD
MUL
ADD
MUL
...

Test 6

Group: 1

Verdict: ACCEPTED

input
64

correct output
6
ADD
MUL
MUL
MUL
...

user output
6
ADD
MUL
MUL
MUL
...

Test 7

Group: 1

Verdict: ACCEPTED

input
84

correct output
0

user output
0

Test 8

Group: 1

Verdict: ACCEPTED

input
60

correct output
0

user output
0

Test 9

Group: 1

Verdict: ACCEPTED

input
51

correct output
0

user output
0

Test 10

Group: 1

Verdict: ACCEPTED

input
77

correct output
9
ADD
ADD
MUL
ADD
...

user output
9
ADD
ADD
MUL
ADD
...

Test 11

Group: 2

Verdict:

input
941694

correct output
0

user output
(empty)

Test 12

Group: 2

Verdict:

input
905674

correct output
30
MUL
ADD
MUL
ADD
...

user output
(empty)

Test 13

Group: 2

Verdict:

input
908426

correct output
29
ADD
MUL
ADD
MUL
...

user output
(empty)

Test 14

Group: 2

Verdict:

input
960500

correct output
31
ADD
ADD
MUL
MUL
...

user output
(empty)

Test 15

Group: 2

Verdict:

input
902101

correct output
27
MUL
ADD
MUL
ADD
...

user output
(empty)

Test 16

Group: 2

Verdict:

input
994208

correct output
27
ADD
ADD
MUL
MUL
...

user output
(empty)

Test 17

Group: 2

Verdict:

input
923538

correct output
0

user output
(empty)

Test 18

Group: 2

Verdict:

input
950287

correct output
24
MUL
ADD
MUL
ADD
...

user output
(empty)

Test 19

Group: 2

Verdict:

input
950516

correct output
29
ADD
ADD
MUL
MUL
...

user output
(empty)

Test 20

Group: 2

Verdict:

input
921882

correct output
0

user output
(empty)

Test 21

Group: 3

Verdict:

input
933942296856681219

correct output
0

user output
(empty)

Test 22

Group: 3

Verdict:

input
955775764385016720

correct output
0

user output
(empty)

Test 23

Group: 3

Verdict:

input
981578916796073406

correct output
0

user output
(empty)

Test 24

Group: 3

Verdict:

input
927875200723222396

correct output
94
MUL
ADD
MUL
MUL
...

user output
(empty)

Test 25

Group: 3

Verdict:

input
990125206148420558

correct output
84
ADD
MUL
ADD
MUL
...

user output
(empty)

Test 26

Group: 3

Verdict:

input
964804802247123102

correct output
0

user output
(empty)

Test 27

Group: 3

Verdict:

input
996610423667404231

correct output
96
MUL
ADD
MUL
ADD
...

user output
(empty)

Test 28

Group: 3

Verdict:

input
948665008088793691

correct output
86
MUL
ADD
MUL
ADD
...

user output
(empty)

Test 29

Group: 3

Verdict:

input
969397787818953279

correct output
0

user output
(empty)

Test 30

Group: 3

Verdict:

input
918471787211371085

correct output
90
ADD
MUL
ADD
MUL
...

user output
(empty)