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 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
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
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
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
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
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
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
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
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
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
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
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: (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
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
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
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
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
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
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
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
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
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
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
def read_lawn_pattern(file, num_rows): return list(read_list_of_int(file) for i in range(num_rows))
def get_altitudes_map(file, height): altitudes = [] for i in range(height): altitudes.append(read_list_of_int(file)) return altitudes
def make_list_of_vines(f, N): return [read_list_of_int(f) for i in range(N)]
def read_levels(file, num_lvls): return [KingdomRushLevel(*read_list_of_int(file)) for i in range(num_lvls)]