You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.4 KiB
77 lines
2.4 KiB
import os
|
|
|
|
dir = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
with open(os.path.join(dir, './input.txt'), 'r') as input_file:
|
|
|
|
lines = input_file.readlines()
|
|
|
|
random_num_list_str = lines[0].strip()
|
|
random_num_list = random_num_list_str.split(',')
|
|
|
|
grids = [[[]]]
|
|
grid_sums = []
|
|
grid = -1
|
|
row = 0
|
|
score_id = 5
|
|
grid_size = 5
|
|
for i in range(len(lines)):
|
|
if i == 0:
|
|
continue
|
|
line = lines[i].strip()
|
|
if line == "":
|
|
grid = grid+1
|
|
row = 0
|
|
grids.append([])
|
|
grid_sums.append(0)
|
|
continue
|
|
|
|
grids[grid].append([])
|
|
chars = line.split()
|
|
for j in range(len(chars)):
|
|
number = chars[j]
|
|
grids[grid][row].append(number)
|
|
grid_sums[grid] = grid_sums[grid] + int(number)
|
|
row = row + 1
|
|
|
|
print(f"{i}: {lines[i]}")
|
|
|
|
winning_boards = []
|
|
|
|
for i in range(len(random_num_list)):
|
|
called_number = random_num_list[i]
|
|
|
|
for a in range(len(grids)-1):
|
|
if a in winning_boards:
|
|
continue
|
|
grid = grids[a]
|
|
for b in range(len(grid)):
|
|
row = grids[a][b]
|
|
if called_number in row:
|
|
col = row.index(called_number)
|
|
grid_sums[a] = grid_sums[a] - int(called_number)
|
|
if len(row) == 5:
|
|
row.append(0)
|
|
row[grid_size] = row[grid_size]+1
|
|
if row[grid_size] == score_id:
|
|
print("winner!")
|
|
print(a)
|
|
print(int(called_number))
|
|
print(grid_sums[a] * int(called_number))
|
|
winning_boards.append(a)
|
|
break
|
|
|
|
if len(grid) == grid_size:
|
|
grid.append([])
|
|
if len(grid[grid_size]) < grid_size:
|
|
grid[grid_size].extend([0 for x in range(grid_size)])
|
|
grid[grid_size][col] = grid[grid_size][col]+1
|
|
if grid[grid_size][col] == score_id:
|
|
print("winner!")
|
|
print(a)
|
|
print(int(called_number))
|
|
print(grid_sums[a] * int(called_number))
|
|
winning_boards.append(a)
|
|
break
|
|
print(winning_boards)
|
|
|
|
|