ABC120
ABC120 感想
3完
パフォーマンス:1204
rate:+42
とここ最近ではなかなかいいできだった
A - Favorite Sound
単純にBをAで割りCより多いかそうでないか判定する問題
コードはこちら
A,B,C = [int(i) for i in input().split()] if B//A >= C: print(C) else: print(B//A)
B - K-th Common Divisor
A,Bの約数のうち大きいほうからK番目を見つける問題
正直うまいやり方が全然見つからなかった
約数の探し方も何も工夫せずに1からmin(A,B)まで全部探してリストに追加するごり押し
TLEにならなかったので良しとしたがひどい...
A,B,K = [int(i) for i in input().split()] count = 0 p = 1 l = [] while p<=A and p<=B: if A%p == 0 and B%p == 0: l.append(p) if count == K: break p+=1 print(l[-K])
C - Unification
問題文が複雑で一見もの凄い難しそうに見える
実際に自分で何個かテストケースで試してみると意外と単純なのに気付ける
というのも操作が終わった後残る数字は全部0or1の1種類に決まるからだ
2値でやってるので当たり前だが意外と盲点だった
なので実際のコードは非常にシンプル
S = list(input()) a = S.count('1') b = S.count('0') print(min(a,b)*2)
0or1数が少ないほうが全部消えるため、少ないほうに2倍かけた値が消えた個数になる
D - Decayed Bridges
問題がかなり複雑でもの凄い難しかく解けなかった
ただ他のABCのD問題に比べると手が付けやすいほうだったのかとは思う
N個町があり、道がすべてない場合の不便さは1~Nまですべて足し合わせた数値になる
そこから橋が架かっていくにつれ不便さがどれだけ解消していくかの方向で考えていくと解けそうな感じはした
実際には感じがしただけだった;;