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

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

【問題集】易しいYes/No判定問題

JOIG 2024 A - 三連続 (難易度 2)

for 文の練習問題! 問題へのリンク 問題概要 o と x からなる長さ の文字列 が与えられる。 の中に o が 3 つ連続している箇所があれば "Yes" を出力し、そうでなければ "No" を出力せよ。 制約 考えたこと for 文を用いて判定しよう。具体的には、各 i に…

AtCoder ABC 119 A - Still TBD (灰色, 100 点)

これは戸惑った人も多いと思う。実は単純に考えて OK! 問題へのリンク 問題概要 日付データが yyyy/mm/dd 形式の文字列で与えられる (ex:"2019/04/30")。 与えられた日付が、2019 年 4 月 30 日以前であるかどうかを判定せよ。 解法 文字列を string 型で…

AtCoder ABC 114 A - 753 (灰色, 100 点)

論理演算子が使えるかが問われる。 問題へのリンク 問題概要 整数 が、7 または 5 または 3 であるかを判定せよ。 解法 if 文を用いればよい。「または」を判定するためには、論理演算子「||」が使える。 #include <bits/stdc++.h> using namespace std; int main() { int X</bits/stdc++.h>…

AtCoder ABC 109 A - ABC33 (灰色, 100 点)

パリティの問題。ここのところ、算数や数学の問題が続いている。 問題へのリンク 問題概要 1 以上 3 以下の整数 が与えられる。 が奇数 となるような 1 以上 3 以下の整数 が存在するかどうかを判定せよ。 解法 一般に、かけ算をするとき 偶数が 1 個でも含…

AtCoder ABC 088 A - Infinite Coins (灰色, 100 点)

少し気づきにくいかもしれない。 問題へのリンク 問題概要 あなたは、 円硬貨を 枚と、 円硬貨を無限枚持っている。 これらで 円をちょうど支払うことができるかどうかを判定せよ。 解法 一瞬戸惑う問題だと思う。現実の支払いの場面を思い浮かべてみるとわ…

AtCoder ABC 079 A - Good Integer (灰色, 100 点)

これは難しい! 問題へのリンク 問題概要 4 桁の整数 が与えられる。この整数が「同じ数字が 3 つ以上連続しているか」を判定せよ。 解法 を文字列として受け取る方が楽だと思われる。このとき、同じ数字が 3 つ以上連続するのは次の 2 パターンがある。 N …

AtCoder ABC 077 A - Rotation (灰色, 100 点)

少し空間認識能力が問われるかもしれない。 問題へのリンク 問題概要 2 × 3 のグリッドが与えられる。各マスにはアルファベット文字が書かれている。 このグリッドを 180° 回転して一致するかどうかを判定せよ。 解法 入力を 2 つの文字列 S, T として受け取…

AtCoder ABC 073 A - September 9 (灰色, 100 点)

整数値のままでも解けるし、文字列として受け取って解いてもいい。 問題へのリンク 問題概要 2 桁の整数 が与えられる。 が '9' を含むかどうかを判定せよ。 解法 を整数値で処理する場合は 一の位は N % 10 十の位は N / 10 で求められる。これを利用して判…

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

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

AtCoder ABC 067 A - Sharing Cookies (灰色, 100 点)

問題文を読み解くのが少し大変だった。 問題へのリンク 問題概要 2 つの整数 が与えられる。 、、 のいずれかが、3 で割り切れるかどうかを判定せよ。 解法 と と のいずれかが 3 で割り切れるかどうかを、or を表す演算子「||」を用いて調べれば OK。 #incl…

AtCoder ABC 064 A - RGB Cards (灰色, 100 点)

3 桁の整数で前から順に である数の表し方は中2で習う内容でもある。 問題へのリンク 問題概要 と書かれた 3 枚のカードをこの順に並べて得られる 3 桁の整数が 4 の倍数であるかどうかを判定せよ。 解法 3 桁の整数で前から順に である数は、 と書ける。 こ…

AtCoder ABC 060 A - Shiritori (灰色, 100 点)

3 つの文字列がしりとりになっているかを判定する問題 問題へのリンク 問題概要 3 つの文字列 が与えられる。 これらが「しりとり」になっているかどうかを判定せよ。 解法 文字列 A の末尾の文字は A.back() で取得できる。 A.back() == B[0] かつ B.back()…

AtCoder ABC 058 A - ι⊥l (灰色, 100 点)

が等差数列かどうかを判定する問題 問題へのリンク 問題概要 3 つの整数 が等差数列かを判定せよ。 すなわち、 であるかどうかを判定せよ。 解法 問題文の通りに、b - a == c - b かどうかを判定すれば OK。 #include <bits/stdc++.h> using namespace std; int main() { in</bits/stdc++.h>…

AtCoder ABC 308 A - New Scheme (灰色, 100 点)

「単調増加かどうか判定」は典型。そのような処理の実装に慣れよう! 問題へのリンク 問題概要 長さ の数列 が与えられる。この数列が以下の条件を全て満たすかどうかを判定せよ。 広義単調増加である すべて 100 以上 675 以下である すべて 25 の倍数であ…

AtCoder ABC 327 A - ab (灰色, 100 点)

文字列の練習! 問題へのリンク 問題概要 英小文字からなる長さ の文字列 が与えられる。 この文字列 中に、文字 'a' と 'b' が隣接する箇所があるかどうかを判定せよ。 考えたこと for 文を用いて判定していく。添字 i を回していき、 S[i] == 'a' and S[i+…

AtCoder ABC 299 A - Treasure Chest (灰色, 100 点)

3 重の for 文を書くのが楽だと思う 問題へのリンク 問題概要 3 種類の文字 .、|、* からなる、長さ の文字列 が与えられる。 には | がちょうど 2 つ、* がちょうど 1 つ含まれる。 * が 2 つの | に挟まれているかどうかを判定せよ。 考えたこと 色々な解…

AtCoder ABC 326 A - 2UP3DOWN (灰色, 100 点)

落ち着いて整理しよう! 問題へのリンク 問題概要 100 階のビルで 階から 階へと移動したい。 2 階分までの上り、または、3 階分までの下りであれば移動には階段を使い、そうでないときエレベーターを使う。 階段を使うかどうかを判定せよ。 コード 落ち着い…

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

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

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

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