Пример #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):
            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
Пример #2
0
def read_test_case(file_):
    """Read and return a single test case."""
    tc = TestCase()
    tc.K, tc.L, tc.S = read_list_of_int(file_)
    tc.letter_counter = Counter(read_str(file_))
    tc.target_word = read_str(file_)
    return tc
Пример #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_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
Пример #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_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
Пример #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)
        #        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
Пример #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:
        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
Пример #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:
        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
Пример #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:
        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
Пример #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
Пример #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):
            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
Пример #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:
        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
Пример #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_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
Пример #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_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
Пример #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_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
Пример #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:
        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
Пример #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_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
Пример #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:
        (word_length, num_known_words, num_test_cases) = read_list_of_int(f)
        known_words = make_list_of_known_words(islice(f, num_known_words))
        test_cases = get_list_of_test_cases(islice(f, num_test_cases))
        for (index, pattern) in enumerate(test_cases):
            print('Case #' + str(index+1) + ': ' + \
                  str(num_words_that_match(pattern, known_words)))
    return 0
Пример #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 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
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
Пример #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_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
Пример #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_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
Пример #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_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
Пример #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):
            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
Пример #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):
            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
Пример #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_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
Пример #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):
            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
Пример #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', 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
Пример #28
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
Пример #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:
        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
Пример #30
0
def read_lawn_pattern(file, num_rows):
    return list(read_list_of_int(file) for i in range(num_rows))
Пример #31
0
def get_altitudes_map(file, height):
    altitudes = []
    for i in range(height):
        altitudes.append(read_list_of_int(file))
    return altitudes
Пример #32
0
def make_list_of_vines(f, N):
    return [read_list_of_int(f) for i in range(N)]
Пример #33
0
def read_levels(file, num_lvls):
    return [KingdomRushLevel(*read_list_of_int(file)) for i in range(num_lvls)]
Пример #34
0
def read_lawn_pattern(file, num_rows):
    return list(read_list_of_int(file) for i in range(num_rows))
Пример #35
0
def make_list_of_vines(f, N):
    return [read_list_of_int(f) for i in range(N)]