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

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

算数と数学:場合をもれなく列挙する

AtCoder ABC 352 A - AtCoder Line (7Q, 灰色, 100 点)

算数系の問題! 問題へのリンク 問題概要 解法 入力の中に が含まれるが、これは結局使わない。こういう変数に惑わされないようにしよう。次の 2 つの場合に分けて考える。 のとき (上りのとき) のとき (下りのとき) 前者の場合は、"Yes" となる条件は と書…

JOI 一次予選 2024 (第 1 回) B - 和の判定 (8Q, 難易度 1)

上手に場合分けしよう! 問題へのリンク editorial 問題概要 3 個の整数 が与えられる。 これらのうちの 1 個が、残りの 2 個の和として表せるときは 1 を出力し、そうでないときは 0 を出力せよ。 解法 「3 個の整数 のうちの 1 個」が残りの 2 個の和とし…

AtCoder ABC 225 A - Distinct Strings (7Q, 灰色, 100 点)

これ結構難しいと思う! 数学 IA の「場合の数」をやると、よく出て来るやつですね。 問題へのリンク 問題概要 英小文字のみからなる長さ 3 の文字列 が与えられます。 の各文字を並び替えて得られる文字列は、何種類ありますか? 解法 「3 個のものを並び替…

AtCoder ABC 209 A - Counting (灰色, 100 点)

とても教育的な問題! 問題へのリンク 問題概要 整数 が与えられる。 以上 以下の整数は何個あるか? 解法 まず、 の場合は、 以上 以下の整数は存在しないことに注意しよう。この場合は 0 個と答えれば良い。 それでは、 としよう。この場合は、 以上 以下…

AtCoder ABC 208 A - Rolling Dice (灰色, 100 点)

「この数からこの数の間の数はすべて作れる」という考え方をする問題。この考え方は、より高度な問題では頻出! 問題へのリンク 問題概要 1〜6 の目が出るサイコロを 回振った。 出た目の総和が になることがありうるかどうかを判定せよ。 解法 これは難しい…

AtCoder ABC 204 A - Rock-paper-scissors (灰色, 100 点)

ジャンケンの問題。何気に将来非常によく出てくる構造を問う問題でもある。 問題へのリンク 問題概要 3 人でジャンケンをしたらあいこになった。3 人のうちの 2 人の出した手がわかっている。残り 1 人の手を答えよ。 なお、0 はグー、1 はチョキ、2 はパー…

AtCoder ABC 198 A - Div (灰色, 100 点)

実はすごく簡単なのだが、戸惑うかもしれない。 問題へのリンク 問題概要 個のものを A 君と B 君で分け合う。 A 君も B 君も 1 個以上もらうようにするとき、分け方は何通りあるか? 解法 次の 通りある。 A 君: 個、B 君: 個 A 君: 個、B 君: 個 ... A…

AtCoder ABC 190 A - Very Very Primitive Game (灰色, 100 点)

これは整理するのが大変!!! 問題へのリンク 問題概要 高橋君は 個のアメを持っていて、青木君は 個のアメを持っている。 交互に自分のアメを食べていき、先に食べられなくなった方が負けである。 ならば高橋君が先手、 ならば青木君が後手。 どちらか勝つ…

AtCoder ABC 175 A - Rainy Season (灰色, 100 点)

ちょっと難しい問題。 問題へのリンク 問題概要 3 文字の 'R' と 'S' のみからなる文字列 が与えられる。 において、'R' が最大で何個連続しているかを答えよ。 解法 ありうる文字列は 通りあることに注意しよう。よって、すべての文字列を調べることができ…

AtCoder ABC 331 A - Tomorrow (灰色, 100 点)

2 回繰り上がる場合 (年末の日) に注意! 問題へのリンク 問題概要 ある暦では、1 年は 月あり、1 月は 日だけある (固定値)。 年 月 日の翌日を答えよ。 解法 年末のパターン、つまり かつ というパターンを見逃さないようにしよう! 年末のときは:答えは …

AtCoder ABC 075 A - One out of Three (灰色, 100 点)

この時期に多い「3 つの値をどうのこうのする」系の問題 問題へのリンク 問題概要 3 つの整数 が与えられる。 これらの数のうち 2 つは等しく、残り 1 つは異なる。その残りの 1 つの数を答えよ。 解法 次の 3 パターンがある。if 文で判定して答えれば OK。…

AtCoder ABC 065 A - Expired? (灰色, 100 点)

これはちゃんと整理するの大変だと思う! 問題へのリンク 問題概要 ある商品は、賞味期限を過ぎてから 日後まではお腹を壊さずに食べることができる。一方、賞味期限を過ぎてから食べると美味しくありません。 その商品を、賞味期限の 日前に購入し、その日…

AtCoder ABC 056 A - HonestOrDishonest (灰色, 100 点)

bool 型をうまく考える問題 問題へのリンク 問題概要 入力 が与えられる。 = 'H' のとき:AtCodeer 君は正直者である = 'D' のとき:AtCodeer 君は嘘つきである ここで、 = 'H' のとき:「TopCoDeer 君は正直者だ」と AtCodeer 君は発言した = 'D' のとき:…

AtCoder ABC 047 A - キャンディーと2人の子供 (8Q, 灰色, 100 点)

これも「まずソートして考える」が効く系。でも、そうしなくても解ける。 問題へのリンク 問題概要 3 つの正の整数 が与えられる。 これらを 2 つのグループに分けて、各グループの数値の総和が等しくなるようにできるかどうかを判定せよ。 解法 (1):場合分…

AtCoder ABC 042 A - 和風いろはちゃんイージー (7Q, 灰色, 100 点)

記念すべき rated ABC の最初の回 問題へのリンク 問題概要 3 つの整数 が与えられる。 これらをうまく並び替えることで 5, 7, 5 にできるかどうかを判定せよ。 コード 一番楽なのは、ソートして 5, 5, 7 になるかを判定することだと思う。 #include <bits/stdc++.h> using </bits/stdc++.h>…