示例#1
0
def load(p: Problem):
    data = p.raw_data().split('\n\n')
    rules = {}
    for line in data[0].split('\n'):
        match = RULE_PATTERN.match(line)
        rules[int(match.group(1))] = match.group(4) if match.group(4) else [[
            int(r) for r in opt.split(' ')
        ] for opt in match.groups()[1:] if opt]
    return {"rules": rules, "messages": data[1].split('\n')}
示例#2
0
def load(p: Problem):
    data = p.raw_data().split('\n\n')
    return [[int(d) for d in data[0].split('\n')[1:]],
            [int(d) for d in data[1].split('\n')[1:]]]
示例#3
0
def load(p: Problem):
    return p.raw_data()
示例#4
0
def load(p: Problem):
    data = lmap(int, p.raw_data())
    return dict(zip(data, np.roll(data, -1)))
示例#5
0
def load(p: Problem):
    return [
        Tile(int(tile.split('\n')[0].split(' ')[1][:-1]),
             np.array([np.array(list(l)) for l in tile.split('\n')[1:]]))
        for tile in p.raw_data().split('\n\n')
    ]