ABC166 - Atcoder/Python精進のための解説メモ
2022/12/27
ABC166 - A.A?C
AtCoder公式 | ABC166 - A.A?C解答
s = input()
print('ABC' if s == 'ARC' else 'ARC')
要点解説メモ
- シンプルにやる
ABC166 - B.Trick or Treat
AtCoder公式 | ABC166 - B.Trick or Treat解答
n, k = map(int, input().split())
cnt = [0] * n
for _ in range(k):
d = int(input())
aaa = list(map(int, input().split()))
for a in aaa:
cnt[a-1] += 1
print(cnt.count(0))
要点解説メモ
- シンプルにやる
ABC166 - C.Peaks
AtCoder公式 | ABC166 - C.Peaks解答
n, m = map(int, input().split())
hhh = list(map(int, input().split()))
abab = [list(map(int, input().split())) for _ in range(m)]
is_highest = [True] * n
for a, b in abab:
if hhh[a - 1] <= hhh[b - 1]:
is_highest[a - 1] = False
if hhh[b - 1] <= hhh[a - 1]:
is_highest[b - 1] = False
print(sum(is_highest))
要点解説メモ
- 道ひとつひとつに注目する
- 塔2つのうち、高さが低いor同じ塔は、良い塔でない
- すべての道に対して、上記をもとに良い塔でないフラグをたてていき、残った塔が良い塔
- つながりを無向グラフとして考えて、つながっている塔のうち最も高ければ良い塔、としても良さそう
ABC166 - D.
AtCoder公式 | ABC166 - D.解答
まだ解いていません