Ejemplo n.º 1
0
def compute_power_score(s):
    assert s.lower() == s, s

    result = 0
    for p in POWER_PHRASES:
        reps = utils.count_substrings(s, p)
        power_bonus = 300 if reps > 0 else 0
        result += 2 * len(p) * reps + power_bonus

    return result
Ejemplo n.º 2
0
def solve(problem_instance, tag_prefix='NOVELTY2 '):
    bsg = big_step_game.BigStepGame.from_json(
        problem_instance.json_data, problem_instance.seed)
#     print(bsg)

    end_bsg, locking_placements = bronze.phase_one(bsg)
#     print(locking_placements)

    _, commands = dummy_phase_two(bsg, locking_placements)
    print(end_bsg)

    for phrase in interfaces.POWER_PHRASES:
        if phrase in commands:
            print('{:>5} {}'.format(
                utils.count_substrings(commands, phrase), phrase))

    return utils.gen_output_raw(
        id=problem_instance.json_data['id'],
        seed=problem_instance.seed,
        commands=commands,
        move_score=end_bsg.move_score,
        power_score=interfaces.compute_power_score(commands),
        tag_prefix=tag_prefix)