Example #1
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            num_levels = read_int(f)
            levels = read_levels(f, num_levels)
            print("Case #{0}: {1}".format(i, min_needed_num_levels(levels)))
    return 0
Example #2
0
def main(filename):
    with open(filename, 'r', encoding='utf-8') as f:
        T = read_int(f)
        test_cases = [read_test_case(f) for i in range(T)]
    for i, tc in enumerate(test_cases, start=1):
        print("Case #{}: ".format(i) + output_of_test_case(tc))
    return 0
Example #3
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            credit = read_int(f)
            num_items = read_int(f)
            prices = read_list_of_int(f)
            index1, index2 = choose_items(credit, prices)
            index1, index2 = index1 + 1, index2 + 1
            print("Case #" + str(i) + ": " + str(index1) + " " + str(index2))
    return 0
Example #4
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        for i in range(1, num_cases + 1):
            vector_length = read_int(f)
            v1 = read_list_of_int(f)
            v2 = read_list_of_int(f)
            v1.sort()
            v2.sort(reverse=True)
            print("Case #{0}: {1}".format(i, sum(map(operator.mul, v1, v2))))
    return 0
Example #5
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        T = read_int(f)
        for i in range(1, T + 1):
            N = read_int(f)
            vines = make_list_of_vines(f, N)
            D = read_int(f)
            pos = vines[0][0]
            reach = min(vines[0][0], vines[0][1])
            print("Case #{0}: {1}".format(
                i, is_target_reachable(pos, reach, vines[1:], D)))
    return 0
Example #6
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print('Usage: runme.py input_file')
            return 1
    with open(filename, 'r') as f:
        T = read_int(f)
        for i in range(1, T + 1):
            N = read_int(f)
            vines = make_list_of_vines(f, N)
            D = read_int(f)
            pos = vines[0][0]
            reach = min(vines[0][0], vines[0][1])
            print('Case #{0}: {1}'.format(i, is_target_reachable(pos, reach, \
                                                               vines[1:], D)))
    return 0
Example #7
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        T = read_int(f)
        #        test_cases = list(TestCase(read_list_of_int(f), list(read_list_of_int(f) for i in range(4)), read_list_of_int(f), list(read_list_of_int(f) for i in range(4))) for i in range(T))
        test_cases = []
        for i in range(T):
            answerA = read_int(f)
            gridA = list(read_list_of_int(f) for i in range(4))
            answerB = read_int(f)
            gridB = list(read_list_of_int(f) for i in range(4))
            tc = TestCase(answerA, gridA, answerB, gridB)
            test_cases.append(tc)
    for i, tc in enumerate(test_cases, start=1):
        print("Case #{}: {}".format(i, solve_test_case(tc)))
    return 0
Example #8
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        translator = GooglereseTranslator()
        for i, line in enumerate(f, 1):
            print("Case #{0}: {1}".format(i, translator.to_english(line[:-1])))
    return 0
Example #9
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        for i in range(1, num_cases + 1):
            A, B = read_list_of_int(f)
            print("Case #{0}: {1}".format(i, count_recycled_pairs(A, B)))
    return 0
Example #10
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            N, PD, PG = read_list_of_int(f)
            print("Case #{0}: {1}".format(i, is_it_possible(N, PD, PG)))
    return 0
Example #11
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        N = read_int(f)   # not needed
        for i, line in enumerate(f):
            count = count_matches_smart("welcome to code jam", line)
            print("Case #" + str(i + 1) + ": " + str(count).zfill(4)[-4:])
    return 0
Example #12
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        translator = T9Translator()
        for i, line in enumerate(f, 1):
            print("Case #" + str(i) + ": " + translator.toT9(line.rstrip("\n")))
    return 0
Example #13
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        translator = GooglereseTranslator()
        for i, line in enumerate(f, 1):
            print("Case #{0}: {1}".format(i, translator.to_english(line[:-1])))
    return 0
Example #14
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        for i in range(1, num_cases + 1):
            A, B = read_list_of_int(f)
            print("Case #{0}: {1}".format(i, count_recycled_pairs(A, B)))
    return 0
Example #15
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        T = read_int(f)
        test_cases = [read_list_of_int(f) for i in range(T)]
    for i, tc in enumerate(test_cases, start=1):
        print("Case #{}: {}".format(i, solve(*tc)))
    return 0
Example #16
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            low, high = read_list_of_int(f)
            print("Case #{0}:".format(i), end=" ")
            print(count_fair_and_square_numbers_in_interval(low, high))
    return 0
Example #17
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            A, B = read_list_of_int(f)
            P = read_list_of_float(f)
            print("Case #{0}: {1}".format(i, expected_num_keystrokes(A, B, P)))
    return 0
Example #18
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        for i, line in enumerate(f.readlines(), 1):
            words = line.split()
            words.reverse()
            print("Case #" + str(i) + ": " + " ".join(words))
    return 0
Example #19
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            low, high = read_list_of_int(f)
            print("Case #{0}:".format(i), end=" ")
            print(count_fair_and_square_numbers_in_interval(low, high))
    return 0
Example #20
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            test_case = read_test_case(f)
            print("Case #{0}:".format(i), end=" ")
            print(compute_game_status(test_case))
    return 0
Example #21
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            test_case = read_test_case(f)
            print("Case #{0}:".format(i), end=" ")
            print(compute_game_status(test_case))
    return 0
Example #22
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            A, B = read_list_of_int(f)
            P = read_list_of_float(f)
            print("Case #{0}: {1}".format(i, expected_num_keystrokes(A, B, P)))
    return 0
Example #23
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            x, y = read_list_of_int(f)
            print("Case #{0}:".format(i), end=" ")
            print(hops_to_get_to_x_y(x, y))
    return 0
Example #24
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            n, x, y = read_list_of_int(f)
            print("Case #{0}:".format(i), end=" ")
            print(probability_that_we_get_a_diamond(n, x, y))
    return 0
Example #25
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        split_line_re = re.compile(r"^\d+ |[BO] \d+")
        for i, line in enumerate(f, 1):
            sequence_of_buttons = split_line_re.findall(line)[1:]
            print("Case #{0}: {1}".format(i, time_to_push(sequence_of_buttons)))
    return 0
Example #26
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            name, num = read_list_of_str(f)
            n = int(num)
            print("Case #{0}:".format(i), end=" ")
            print(compute_n_value(name, n))
    return 0
Example #27
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            current_size, num_other_motes = read_list_of_int(f)
            other_motes_sizes = read_list_of_int(f)
            print("Case #{0}:".format(i), end=" ")
            print(min_number_of_operations_needed(current_size, other_motes_sizes))
    return 0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        for i in range(1, num_cases + 1):
            height, width, max_distance = read_list_of_int(f)
            hall = HallOfMirrors.read_hall(f, height)
            hall.emit_light_from_source_and_propagate(max_distance)
            print("Case #{0}: {1}".format(i, hall.number_of_reflections))
    return 0
Example #29
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            name, num = read_list_of_str(f)
            n = int(num)
            print("Case #{0}:".format(i), end=" ")
            print(compute_n_value(name, n))
    return 0
Example #30
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        for i in range(1, num_cases + 1):
            input_list = read_list_of_int(f)
            n, s, p = input_list[0:3]
            totals = input_list[3:]
            print("Case #{0}: {1}".format(i, compute_answer(totals, p, s)))
    return 0
Example #31
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        for i in range(1, num_cases + 1):
            input_list = read_list_of_int(f)
            n, s, p = input_list[0:3]
            totals = input_list[3:]
            print("Case #{0}: {1}".format(i, compute_answer(totals, p, s)))
    return 0
Example #32
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        for i in range(1, num_cases + 1):
            height, width, distance = read_list_of_int(f)
            hall = read_hall_of_mirrors(f, height, width)
            exploded, start_position = explode_hall(hall, distance)
            print("Case #{0}: {1}".format(i, count_reflections(exploded, start_position, distance)))
    return 0
Example #33
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_maps = read_int(f)
        for i in range(num_maps):
            print("Case #" + str(i+1) + ":")
            (height, width) = read_list_of_int(f)
            altitudes = get_altitudes_map(f, height)
            cell_labels = label_cells(altitudes)
            print_cell_labels(cell_labels)
    return 0
Example #34
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        for i in range(1, num_cases + 1):
            height, width, distance = read_list_of_int(f)
            hall = read_hall_of_mirrors(f, height, width)
            exploded, start_position = explode_hall(hall, distance)
            print("Case #{0}: {1}".format(
                i, count_reflections(exploded, start_position, distance)))
    return 0
Example #35
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(num_test_cases):
            current_size, num_other_motes = read_list_of_int(f)
            other_motes_sizes = read_list_of_int(f)
            print("Case #{0}:".format(i + 1), end=" ")
            print(
                min_number_of_operations_needed(current_size,
                                                other_motes_sizes))
    return 0
Example #36
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            num_rows, num_columns = read_list_of_int(f)
            lawn_pattern = read_lawn_pattern(f, num_rows)
            print("Case #{0}:".format(i), end=" ")
            if is_possible_pattern(lawn_pattern):
                print("YES")
            else:
                print("NO")
    return 0
Example #37
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print('Usage: runme.py input_file')
            return 1
    with open(filename, 'r') as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            num_rows, num_columns = read_list_of_int(f)
            lawn_pattern = read_lawn_pattern(f, num_rows)
            print('Case #{0}:'.format(i), end=' ')
            if is_possible_pattern(lawn_pattern):
                print('YES')
            else:
                print('NO')
    return 0
Example #38
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            values = read_list_of_int(f)
            num_contestants = values[0]
            point_values = values[1:]
            votes_needed = get_votes_needed_for_each_contestant(point_values)
            print("Case #{0}:".format(i), end=" ")
            for vi in votes_needed[:-1]:
                print("{0}".format(vi), end=" ")
            print(votes_needed[-1])
    return 0
Example #39
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        num_cases = read_int(f)
        for i, line in enumerate(f, 1):
            parts = line.split()
            C = int(parts[0])
            combination_rules = parts[1:C+1]
            opposition_rules = parts[C+2:-2]
            elements_to_invoke = parts[-1]
            wizard = MagickaWizard(combination_rules, opposition_rules)
            wizard.invoke_elements(elements_to_invoke)
            print("Case #{0}: {1}".format(i, wizard.element_list_as_string()))
    return 0
Example #40
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print('Usage: runme.py input_file')
            return 1
    with open(filename, 'r', encoding='utf-8') as f:
        num_test_cases = read_int(f)
        for i in range(1, num_test_cases + 1):
            values = read_list_of_int(f)
            num_contestants = values[0]
            point_values = values[1:]
            votes_needed = get_votes_needed_for_each_contestant(point_values)
            print('Case #{0}:'.format(i), end=' ')
            for vi in votes_needed[:-1]:
                print('{0}'.format(vi), end=' ')
            print(votes_needed[-1])
    return 0
Example #41
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        T = read_int(f)
        for i in range(1, T + 1):
            values = read_list_of_int(f)
            numbers = values[1:]
            print("Case #{0}:".format(i))
            subsets = get_subsets_with_equal_sum(numbers)
            for subset in subsets:
                if subset is "Impossible":
                    print("Impossible")
                else:
                    for num in subset[:-1]:
                        print("{0}".format(num), end=" ")
                    print(subset[-1])
    return 0
Example #42
0
def main(filename=None):
    if filename is None:
        if len(sys.argv) == 2:
            filename = sys.argv[1]
        else:
            print("Usage: runme.py input_file")
            return 1
    with open(filename, "r") as f:
        T = read_int(f)
        for i in range(1, T + 1):
            values = read_list_of_int(f)
            numbers = values[1:]
            print("Case #{0}:".format(i))
            subsets = get_subsets_with_equal_sum(numbers)
            for subset in subsets:
                if subset is "Impossible":
                    print("Impossible")
                else:
                    for num in subset[:-1]:
                        print("{0}".format(num), end=" ")
                    print(subset[-1])
    return 0