2024-12-01 09:26:02 +00:00
|
|
|
import sys
|
|
|
|
|
2024-12-04 06:35:22 +00:00
|
|
|
import numpy as np
|
2024-12-01 09:26:02 +00:00
|
|
|
|
2024-12-04 06:35:22 +00:00
|
|
|
lines = np.array(list(map(list, sys.stdin.read().strip().splitlines())))
|
|
|
|
print(lines)
|
|
|
|
n = lines.shape[0]
|
2024-12-01 09:26:02 +00:00
|
|
|
|
2024-12-04 06:35:22 +00:00
|
|
|
answer_1 = 0
|
|
|
|
for i in range(n):
|
|
|
|
line = "".join(lines[i, :])
|
|
|
|
answer_1 += line.count("XMAS") + line.count("SAMX")
|
|
|
|
|
|
|
|
column = "".join(lines[:, i])
|
|
|
|
answer_1 += column.count("XMAS") + column.count("SAMX")
|
|
|
|
|
|
|
|
diag = "".join(np.diagonal(lines, i))
|
|
|
|
answer_1 += diag.count("XMAS") + diag.count("SAMX")
|
|
|
|
|
|
|
|
diag = "".join(np.diagonal(lines[::-1, :], i))
|
|
|
|
answer_1 += diag.count("XMAS") + diag.count("SAMX")
|
|
|
|
|
|
|
|
if i != 0:
|
|
|
|
diag = "".join(np.diagonal(lines, -i))
|
|
|
|
answer_1 += diag.count("XMAS") + diag.count("SAMX")
|
|
|
|
|
|
|
|
diag = "".join(np.diagonal(lines[::-1, :], -i))
|
|
|
|
answer_1 += diag.count("XMAS") + diag.count("SAMX")
|
|
|
|
|
|
|
|
answer_2 = sum(
|
|
|
|
"".join(
|
|
|
|
(
|
|
|
|
lines[i - 1, j - 1],
|
|
|
|
lines[i - 1, j + 1],
|
|
|
|
lines[i + 1, j - 1],
|
|
|
|
lines[i + 1, j + 1],
|
|
|
|
)
|
|
|
|
)
|
|
|
|
in {"MSMS", "SSMM", "MMSS", "SMSM"}
|
|
|
|
for i in range(1, n - 1)
|
|
|
|
for j in range(1, n - 1)
|
|
|
|
if lines[i, j] == "A"
|
|
|
|
)
|
2024-12-01 09:26:02 +00:00
|
|
|
|
|
|
|
print(f"answer 1 is {answer_1}")
|
|
|
|
print(f"answer 2 is {answer_2}")
|