キャディプログラミングコンテスト2021(AtCoder Beginner Contest 193)備忘録

キャディプログラミングコンテスト2021(AtCoder Beginner Contest 193) の備忘録です。

問題はこちら↓

今回はABC3完でした。

・A問題:Discount

定価 A 円の商品が B 円で売られている時、この商品が定価の何%引きか求める。B 円が定価の何%か求めて100%から引けばよい。

解答例(Python)
https://atcoder.jp/contests/abc193/submissions/20554301

・B問題:Play Snuke

Tくんは人気ゲーム機を買おうとしている。ゲーム機を販売している店は 1,2,...,N の N 軒あり、店 i は現在地から徒歩 Ai 分、販売価格は Pi 円、現在の在庫が Xi 台である。Tくんは今から徒歩で店に向かい、店に着いた時にゲーム機があれば買う。しかし人気商品なので、今から 0.5,1.5,2.5,... 分後に全ての店でゲーム機の在庫が存在すれば1台減る。Tくんがゲーム機を買うことができるか判定し、できる場合は買うのに必要な最小の金額を求める。
各 i について、店に着いた時点での在庫は max(0,Xi - Ai) である為、在庫量が移動時間よりも多い店のうちもっとも価格の安いものを調べて出力すれば良い。

解答例(Python)
https://atcoder.jp/contests/abc193/submissions/20554185

・C問題:Unexpressed

整数 N が与えられる。1以上 N 以下の整数のうち、2以上の整数 a,b を用いて a^b と表せないものがいくつあるか求める。
b が2以上である事から a は最大でも √N まで調べればよく、b も小さい方から順に見ていく事で N を超えた時点で終了すればよい為、その範囲で作成できる整数の種類を N から引く事で求めることができる。ただし、a と b が異なる組み合わせで同じ値が求まる事もあるので、set等を用いて重複を弾く必要がある事に注意する。

解答例(Python)
https://atcoder.jp/contests/abc193/submissions/20553894

この記事が気に入ったらサポートをしてみませんか?