けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

シミュレーション:繰り返し回数を割り算で求める

AtCoder ABC 046 C - AtCoDeerくんと選挙速報 (ARC 062 C) (4Q, 水色, 300 点)

問題文の理解が大変かもしれない 問題へのリンク 問題概要(意訳) 2 つの正の整数 を次のように 回更新していく。最初、 である。 回目の更新では 2 つの互いに素な正の整数 が与えられるので、 を満たすような 2 つの正の整数 を 1 つ求めて、 をそれぞれ …

AtCoder ABC 368 C - Triple Attack (4Q, 灰色, 300 点)

完全な愚直シミュレーションでは通らなくて、割り算で繰り返し回数を求める系の問題! 問題へのリンク 問題概要 体の敵を順に倒す。 体目の敵の HP は である。 あなたは に初期化された変数 を管理している。敵を攻撃するとき、次のようにする。 を 1 増や…

AtCoder ABC 243 A - Shampoo (6Q, 灰色, 100 点)

シミュレーションで解くか、数学的に解こう! 問題へのリンク 問題概要 シャンプーが mL 余っている。 F さん、M さん、T さんが順に mL ずつ使っていく。最初にシャンプーが足りなくなる人が誰になるかを求めよ。 解法 (1):シミュレーション まずは、シャ…

AtCoder ABC 354 D - AtCoder Wallpaper (1D, 水色, 450 点)

周期性をうまいこと活用してなんとかする問題! 問題へのリンク 問題概要 座標平面上で下の図のような白黒模様が与えられる (問題文より)。 左下の頂点が 、右上の頂点が であるような長方形領域内部の黒色部分の面積 (の 2 倍) を求めよ。 制約 考えたこと …

AtCoder ABC 227 A - Last Card (7Q, 灰色, 100 点)

これは難しいですね。何も考えずに for 文で求めるのが比較的楽でしょうか。 問題へのリンク 問題概要 と番号のついた 人に、 枚のカードを配っていく。 人 から始めて、人 の順に 1 枚ずつカードを配るとき、最後のカードは誰に配られるでしょうか? 解法 1…

AtCoder ABC 281 C - Circular Playlist (灰色, 300 点)

「割り算を使う」「ある値が 0 以下になるまで繰り返す」といった典型処理要素を詰め込んだ問題ですね! 問題へのリンク 問題概要 曲からなるプレイリストがあり、曲には の番号が付けられています。各曲の長さは です。 プレイリストを再生すると、曲 の順…

AtCoder ABC 318 A - Full Moon (7Q, 灰色, 100 点)

これは意外と難しいと感じた方も多いかもしれない! 問題へのリンク 問題概要 正の整数 が与えられる。 日目、 日目、 日目、... には満月が見られる。 日目から 日目までの間で満月が見られる日が何日あるかを求めよ。 解法 前提として、次のことはよく知ら…