コード例 #1
0
ファイル: 2.py プロジェクト: nemesmarci/Advent-of-Code-2020
from itertools import product

from common import solve, int2bin


def write_memory(addr, value, mask, memory):
    addr = int2bin(addr)
    for i, c in enumerate(mask):
        if c in 'X1':
            addr[i] = c
    c = addr.count('X')
    addr = ''.join(addr).replace("X", "{}")
    for x in product("01", repeat=c):
        memory[addr.format(*x)] = value


print(solve(write_memory))
コード例 #2
0
ファイル: 2.py プロジェクト: nemesmarci/Advent-of-Code-2020
from math import prod

from common import solve


def solver(string):
    return (str(
        prod(sum(map(int, x.split(' + '))) for x in string.split(' * '))))


print(solve(solver))
コード例 #3
0
from common import solve

print(solve(2))
コード例 #4
0
from common import solve


def at_position(pos1, pos2, char, password):
        return (password[pos1 - 1], password[pos2 - 1]).count(char) == 1


print(solve(validator=at_position))
コード例 #5
0
def main():
    print(solve(store_visited=True))
コード例 #6
0
ファイル: 2.py プロジェクト: nemesmarci/Advent-of-Code-2020
from common import solve

print(solve(30000000))
コード例 #7
0
ファイル: 1.py プロジェクト: nemesmarci/Advent-of-Code-2020
from common import solve


def standard(deck1, deck2):
    while len(deck1) and len(deck2):
        card1 = deck1.pop(0)
        card2 = deck2.pop(0)
        if card1 > card2:
            deck1.append(card1)
            deck1.append(card2)
        elif card2 > card1:
            deck2.append(card2)
            deck2.append(card1)


print(solve(game=standard))
コード例 #8
0
#!/usr/bin/env python
import sys
from common import solve

if (len(sys.argv) == 1):
    print("Usage: %s PUZZLE" % sys.argv[0])
    exit(1)

puzzle = sys.argv[1]
print(solve(puzzle, len(puzzle) / 2))
コード例 #9
0
ファイル: 2.py プロジェクト: nemesmarci/Advent-of-Code-2020
from common import solve


def recursive(deck1, deck2):
    previous = set()
    while len(deck1) and len(deck2):
        if (current := (tuple(deck1), tuple(deck2))) in previous:
            return 1
        else:
            previous.add(current)
            card1 = deck1.pop(0)
            card2 = deck2.pop(0)
            if len(deck1) >= card1 and len(deck2) >= card2:
                winner = recursive(deck1[:card1], deck2[:card2])
            else:
                winner = 1 if card1 > card2 else 2
            if winner == 1:
                deck1.append(card1)
                deck1.append(card2)
            else:
                deck2.append(card2)
                deck2.append(card1)
    return 1 if len(deck1) else 2


print(solve(game=recursive))
コード例 #10
0
from common import solve


def in_range(lower, upper, char, password):
    return lower <= password.count(char) <= upper


print(solve(validator=in_range))
コード例 #11
0
from common import solve

print(solve(slopes=((3, 1), )))
コード例 #12
0
ファイル: 1.py プロジェクト: nemesmarci/Advent-of-Code-2020
from common import solve

print(solve(2020))
コード例 #13
0
from common import solve

print(solve(4))
コード例 #14
0
ファイル: 1.py プロジェクト: nemesmarci/Advent-of-Code-2016
from common import solve

print(solve(version=1))
コード例 #15
0
from common import solve

print(solve())
コード例 #16
0
ファイル: 1_1.py プロジェクト: nemesmarci/Advent-of-Code-2016
def main():
    print(solve())
コード例 #17
0
ファイル: two.py プロジェクト: abesto/adventofcode
from common import solve
print len(str(solve('1113222113', 50)))
コード例 #18
0
ファイル: one.py プロジェクト: abesto/adventofcode
from common import solve
solve(min)
コード例 #19
0
from common import solve

print(solve(3))
コード例 #20
0
ファイル: two.py プロジェクト: abesto/adventofcode
from common import solve
solve(max)
コード例 #21
0
ファイル: two.py プロジェクト: abesto/adventofcode
from common import read_input, solve

prefs = read_input()
prefs['me']  # For the side-effect on defaultdict

print solve(prefs)
コード例 #22
0
from common import solve

print(solve(part_two=True))
コード例 #23
0
ファイル: 1.py プロジェクト: nemesmarci/Advent-of-Code-2016
from common import solve


def up(pos):
    return pos if pos in (1, 2, 3) else pos - 3


def down(pos):
    return pos if pos in (7, 8, 9) else pos + 3


def left(pos):
    return pos if pos in (1, 4, 7) else pos - 1


def right(pos):
    return pos if pos in (3, 6, 9) else pos + 1


print(solve(up, down, left, right))
コード例 #24
0
ファイル: 2.py プロジェクト: nemesmarci/Advent-of-Code-2016
from common import solve

print(solve(least_common=True))
コード例 #25
0
ファイル: 2.py プロジェクト: nemesmarci/Advent-of-Code-2020
from common import solve

print(solve(slopes=((1, 1), (3, 1), (5, 1), (7, 1), (1, 2))))
コード例 #26
0
#!/usr/bin/env python
import sys
from common import solve

if (len(sys.argv) == 1):
    print("Usage: %s PUZZLE" % sys.argv[0])
    exit(1)

print(solve(sys.argv[1], 1))
コード例 #27
0
ファイル: pct3d.py プロジェクト: nampluskr/particle-tracing
def trace(u0, forces, torques, params, conditions):
    return solve(eqns, u0, forces, torques, params, conditions)
コード例 #28
0
ファイル: one.py プロジェクト: abesto/adventofcode
from common import read_input, solve

print solve(read_input())
コード例 #29
0
ファイル: 1sthalf.py プロジェクト: ellull/adventofcode
#!/usr/bin/env python
import fileinput
from common import solve, difference

puzzle = [map(int, line.split("\t")) for line in fileinput.input()]
print(solve(puzzle, difference))