View Single Post
Min løsning på luke 8 knowit. Siste linje er courtesy of ambientsound på IRC. Edit: skjerpet meg og fjernet elif.

SPOILER ALERT! Vis spoiler


Kode

def move(old_pos, throw):
    pos = old_pos + int(throw)
    ladder = False
    ladders = {3: 17, 8: 10, 15: 44, 22: 5, 39: 56, 49: 75, 62: 45, 64: 19, 65: 73, 80: 12, 87: 79}
    if pos in ladders:
        pos = ladders.get(pos)
        ladder = True
    elif pos > 90:
        pos = old_pos
    return [pos, ladder]


if __name__ == "__main__":
    ppos = [1] * 1337
    player = 0
    ladder_count = 0
    cur_pos = [0, False]
    with open('input8_knowit.txt') as file:
        for line in file:
            cur_pos = move(ppos[player], line)
            ppos[player] = cur_pos[0]
            if ppos[player] == 90:
                print("player:", player+1, "ladders:", ladder_count, (player+1)*ladder_count)
            ladder_count += cur_pos[1]
            player = (player+1) % 1337
Sist endret av Xasma; 8. desember 2016 kl. 22:23.