CSES - Datatähti 2018 loppu - Results
Submission details
Task:Merkkijono
Sender:Kurns
Submission time:2018-01-18 16:21:51 +0200
Language:Python2
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1--details
#2--details
#3--details
#4--details
#5--details

Code

UI = raw_input()
operaatiot = []
siirrot = 0

def arvo(x):
    if x == "A":
        return "Z"
    if x == "B":
        return "A"
    if x == "C":
        return "B"
    if x == "D":
        return "C"
    if x == "E":
        return "D"
    if x == "F":
        return "E"
    if x == "G":
        return "F"
    if x == "H":
        return "G"
    if x == "I":
        return "H"
    if x == "J":
        return "I"
    if x == "K":
        return "J"
    if x == "L":
        return "K"
    if x == "M":
        return "L"
    if x == "N":
        return "M"
    if x == "O":
        return "N"
    if x == "P":
        return "O"
    if x == "Q":
        return "P"
    if x == "R":
        return "Q"
    if x == "S":
        return "R"
    if x == "T":
        return "S"
    if x == "U":
        return "T"
    if x == "V":
        return "U"
    if x == "W":
        return "V"
    if x == "X":
        return "W"
    if x == "Y":
        return "X"
    if x == "Z":
        return "Y"
        
def swap():
    eka = str(UI[0])
    toka = str(UI[1])
    operaatiot.append("SWAP")
    return str(toka) + str(eka) + str(UI[2:])
    
def vikaekaksi():
    vika = UI[-1]
    res = str(vika) + str(UI[:-1])
    operaatiot.append("MOVE")
    return res

while True:
    if arvo(UI[0]) == UI[1]:
        UI = swap()
        siirrot += 1
    elif arvo(UI[0]) == UI[-1]:
        UI = vikaekaksi()
        siirrot += 1
    elif UI == "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
        break
        
print siirrot

for c in range(0, len(operaatiot)):
    print operaatiot[c]

Test details

Test 1

Verdict:

input
ABCDEFGHIJKLMNOPQRSTUVWXYZ

correct output
0

user output
(empty)

Test 2

Verdict:

input
ZYXWVUTSRQPONMLKJIHGFEDCBA

correct output
923
MOVE
MOVE
SWAP
MOVE
...

user output
(empty)

Test 3

Verdict:

input
RPJMFWBHYQOTXUAENLDGZISCVK

correct output
611
SWAP
MOVE
MOVE
SWAP
...

user output
(empty)

Test 4

Verdict:

input
GWJSPBHANMXYFLKIDORVUCEZQT

correct output
659
MOVE
SWAP
MOVE
SWAP
...

user output
(empty)

Test 5

Verdict:

input
BJYNFLKEIUCZMQHRAXOGWPSDTV

correct output
624
MOVE
SWAP
MOVE
SWAP
...

user output
(empty)