3個の値を扱う問題 カテゴリーの記事一覧 - けんちょんの競プロ精進記録

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

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

3個の値を扱う問題

AtCoder ABC 379 A - Cyclic (7Q, 灰色, 100 点)

3 つのものを扱う系の問題、昔はよく出ていた。 問題へのリンク 問題概要 各桁の値が 1〜9 である 3 桁の整数 abc が与えられる。 bca と cab を出力せよ。 考えたこと 整数値で受け取るよりは、3 つの char 型変数 a, b, c で受け取るのが楽。 そうすると、…

AtCoder ABC 260 A - A Unique Letter (7Q, 灰色, 100 点)

条件が複雑なので、綺麗に整理しよう! 問題へのリンク 問題概要 3 文字の文字列 が与えられる。 の中に「一度だけ登場する文字」が存在するならば、そのうちのどれか 1 つを出力せよ。 一度だけ登場する文字が存在しない場合は -1 と出力せよ。 考えたこと …

AtCoder ABC 253 A - Median? (7Q, 灰色, 100 点)

条件を巧みに言い換えて整理しよう! 問題へのリンク 問題概要 3 個の整数 が与えられる。 がメディアンであるかどうかを判定せよ。 解法 がメディアンとは、すなわち、 を小さい順に並べたときに、 が 2 番目に小さいということである。そのような場合は が…

JOI 一次予選 2020 (第 2 回) A - 試験 (8Q, 難易度 1)

楽しい問題! 問題へのリンク 問題概要 3 個の整数 が与えられる。 これらの整数のうち、大きい方から 2 個の和を求めよ。 解法 から、「一番小さい数」を引けば良いでしょう。 のうち一番小さい数は、C++ では、関数 min() を用いて min({A, B, C}) と表せ…

JOI 一次予選 2021 (第 1 回) A - 2 番目に大きい整数 (7Q, 難易度 1)

この時代の一次予選は、まだちょっと難しかった 問題へのリンク 問題概要 3 個の整数 が与えられる。これらの整数のうち、2 番目に大きい値を求めよ。 制約 解法 (1) 最も楽だと思われる方法は、3 個の整数のうちの「最大値」と「最小値」を求めてあげる方法…

AtCoder ABC 235 A - Rotate (7Q, 灰色, 100 点)

上手くやろう! 問題へのリンク 問題概要 3 桁の整数 が与えられるので、 の値を求めよ。 解法 まず、整数 の値を取得しよう。いろんな方法が考えられるが、3 桁の整数を文字列として入力を受け取り、0 文字目、1 文字目、2 文字目の値を見るのが簡単だと思…

JOI 一次予選 2020 (第 1 回) A - 3 つの整数 (8Q, 難易度 1)

記念すべき「JOI 一次予選」が最初に行われた年の問題。この頃はまだ A 問題も結構難しかったのですね。 問題へのリンク editorial 問題概要 3 個の整数 が与えられる。これらの整数は 1 か 2 のいずれかである。 1 と 2 のうち、どちらの方が多くあるかを判…

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 207 A - Repression (8Q, 灰色, 100 点)

頭を柔らかくして考えよう。 問題へのリンク 問題概要 3 個の整数 から 2 個選んで和をとる。 この和の最大値を求めよ。 解法 3 個の整数 から 2 個選んだ和は の 3 通りがある。これらの最大値を求めればよい。 #include <bits/stdc++.h> using namespace std; int main() </bits/stdc++.h>…

AtCoder ABC 203 A - Chinchirorin (8Q, 灰色, 100 点)

慎重に場合分けしよう! 問題へのリンク 問題概要 3 個の整数 が与えられる。 これらのうち 2 個が等しい場合には、残りの 1 個の整数を答えよ。 3 個すべて互いに相異なる場合には、0 と答えよ。 解法 3 個の整数 のうち、2 個が等しいというのは、次の 3 …

AtCoder ABC 189 A - Slot (8Q, 灰色, 100 点)

文字列問題! 問題へのリンク 問題概要 長さ 3 の文字列が与えられる。これが 1 種類の文字のみから成るかどうかを判定せよ。 解法 文字列 S の 3 文字は S[0], S[1], S[2] と表せる。これらが全て等しいということは S[0] == S[1] S[1] == S[2] がともに満…

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

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

AtCoder ABC 155 A - Poor (7Q, 灰色, 100 点)

これは結構難しい。いろんな解法がある。 問題へのリンク 問題概要 個の整数 が与えられる。 これらのうち 2 個の値が等しく、残りの 1 個の値がそれらと異なるならば "Yes" を出力せよ。そうでなければ "No" を出力せよ。 解法 ABC-A の前提知識ではないが…

AtCoder ABC 129 A - Airplane (7Q, 灰色, 100 点)

この頃によくあった 3 個の入力をどうのこうのする系! 問題へのリンク 問題概要 3 つの空港 A, B, C がある。 A-B 間の移動の所要時間は B-C 間の移動の所要時間は A-C 間の移動の所要時間は 今、これらの空港を順に訪れる (たとえば、B → A → C)。最短の所…

AtCoder ABC 103 A - Task Scheduling Problem (7Q, 灰色, 100 点)

この問題は意味を理解するのが大変だと思う! 問題へのリンク 問題概要 3 つの整数 が与えられる。これらを適切に並び替えたときの 1 番目と 2 番目の差 2 番目と 3 番目の差 の和として、考えられる最小値を求めよ。 解法 実際に幾つかのケースで手を動かし…

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

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

AtCoder ABC 070 A - Palindromic Number (8Q, 灰色, 100 点)

を文字列として受け取るのが楽だと思う! 問題へのリンク 問題概要 3 桁の整数 が与えられる。 が回文数であるかどうかを判定せよ。 解法 を整数ではなく、文字列として受け取ろう。そうすれば 「先頭の文字と末尾の文字が等しいかどうか」 を判定すれば OK…

AtCoder ABC 066 A - ringring (8Q, 灰色, 100 点)

この時代の ABC にありがちな「3 つの入力」を扱う系の問題 問題へのリンク 問題概要 3 つの整数 が与えられる。 これらの整数から 2 つ選んで足した値の最小値を求めよ。 解法 関数 min() を使うのが楽だと思う。3 つから 2 つ選んだ和は の 3 パターンがな…

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

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

AtCoder ABC 046 A - AtCoDeerくんとペンキ (7Q, 灰色, 100 点)

3 つの整数についてあれこれ問う問題はこの時代多かった 問題へのリンク 問題概要 3 個の整数 がある。これらは 1 以上 100 以下の整数である。 これらの整数の種類数を求めよ。 コード この手の問題は、「配列として受け取ってソートする」テクニックが使え…

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

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

AtCoder ABC 201 A - Tiny Arithmetic Sequence (7Q, 灰色, 100 点)

意外と頭がこんがらがるかもしれないですね。100 点問題で必須となるテクニックではないですが、ソートすると考えやすいと思います。 問題へのリンク 問題概要 個の整数 が与えられる。 これら 個の整数を適切に並び替えることで、等差数列にすることが可能…

JOIG 2021 A - 金平糖 (AOJ 0701) (8Q, 難易度 1)

入出力の練習をしましょう。 問題へのリンク editorial 問題概要 3 人の生徒がそれぞれ 個、 個、 個の金平糖をもらいました。 これからそれぞれの生徒たちに何個かの金平糖を追加で渡すことで、3 人の生徒がもらった金平糖の個数が等しくなるようにしたいと…