ABC157 - Atcoder/Python精進のための解説メモ
2022/12/27
ABC157 - A.Duplex Printing
AtCoder公式 | ABC157 - A.Duplex Printing解答
n = int(input())
print(int(n // 2) if n % 2 == 0 else int(n // 2 + 1))
要点解説メモ
- シンプルにやる
ABC157 - B.Bingo
AtCoder公式 | ABC157 - B.Bingo解答
aaa = [list(map(int, input().split())) for _ in range(3)]
n = int(input())
for _ in range(n):
b = int(input())
for j in range(3):
for k in range(3):
if aaa[j][k] == b:
aaa[j][k] = 0
ans = 'No'
for i in range(3):
if aaa[i][0] == aaa[i][1] == aaa[i][2] == 0:
ans = 'Yes'
if aaa[0][i] == aaa[1][i] == aaa[2][i] == 0:
ans = 'Yes'
if aaa[0][0] == aaa[1][1] == aaa[2][2] == 0:
ans = 'Yes'
if aaa[2][0] == aaa[1][1] == aaa[0][2] == 0:
ans = 'Yes'
print(ans)
要点解説メモ
- 印を0として縦・横・斜めがすべて0のものがあるかを探索
ABC157 - C.Guess The Number
AtCoder公式 | ABC157 - C.Guess The Number解答
n, m = map(int, input().split())
sscc = [list(map(int, input().split())) for _ in range(m)]
ans = -1
for i in range(10 ** n):
str_i = str(i)
if len(str_i) != n:
continue
if all(str_i[s - 1] == str(c) for s, c in sscc):
ans = i
break
print(ans)
要点解説メモ
- nが最大で3なので、999まで全探索すればよい
ABC157 - D.
AtCoder公式 | ABC157 - D.解答
まだ解いていません