ABC174 - A.Air Conditioner
AtCoder公式 | ABC174 - A.Air Conditioner解答
x = int(input())
print('Yes' if x >= 30 else 'No')
要点メモ
ABC174 - B.Distance
AtCoder公式 | ABC174 - B.Distance解答
n, d = map(int, input().split())
ans = 0
for _ in range(n):
x, y = map(int, input().split())
if (x ** 2 + y ** 2) ** 0.5 <= d:
ans += 1
print(ans)
要点メモ
ABC174 - C.Repsept
AtCoder公式 | ABC174 - C.Repsept解答
k = int(input())
kkk = [0] * k
kkk[0] = 7 % k
ans = -1
for i in range(1, k):
kkk[i] = (kkk[i - 1] * 10 + 7) % k
for j in range(k):
if kkk[j] == 0:
ans = j + 1
break
print(ans)
要点メモ
- 7の数列のうち、最初に出てくるmodK=0を求める問題
- K項目まで求めれば、必ず同じmodKのものが数列上に存在する(鳩ノ巣原理って呼ぶの初めて知った)
- 10倍して7を足す、という単調増加なので、同じmodKがある以上、そのあとは繰り返しになる
- 高々K項目まで求めればよい
ABC174 - D.Alter Altar
AtCoder公式 | ABC174 - D.Alter Altar解答
n = int(input())
ccc = input()
cnt_r = ccc.count('R')
ans = 0
for i in range(cnt_r):
if ccc[i] == 'W':
ans += 1
print(ans)
要点メモ
- Rをすべて左に寄せるために何回交換が必要かを考える
- どこでも入れ替えられるので、Rの個数分左からWの数を数えればよいとわかる
- →右側のRと交換できるうちは交換して、そうでなくなったら色変換が起きる感じ