Exemplo n.º 1
0
    def deal_into_new_stack(self):
        self._deck.reverse()

    def cut_n(self, number):
        self._deck.rotate(-number)

    def deal_with_increment(self, increment):
        deck_size = len(self._deck)
        old_deck = list(self._deck)
        current = 0
        for card in old_deck:
            self._deck[current] = card
            current += increment
            current %= deck_size


def part1(input_list):
    deck = DeckOfSpaceCards(10007)
    deck.shuffle(input_list)
    return deck.find_card(2019)


def part2(input_list):
    deck = DeckOfSpaceCards(119315717514047)
    deck.shuffle(input_list)
    return deck.get_card(2020)


if __name__ == "__main__":
    aoc.main(part1, part2)
Exemplo n.º 2
0
#!/usr/bin/env python3

import aoc

aoc.main()