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

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

AtCoder ABC 187 A - Large Digits (灰色, 100 点)

文字列として処理した方が楽。 問題へのリンク 問題概要 3 桁の正の整数 が与えられる。これらの整数の桁和の最大値を求めよ。 制約 整数 はそれぞれ文字列として受け取った方が楽だと思われる。そうすると、 たとえば、3 桁の整数を表す文字列 A について …

AtCoder ABC 186 A - Brick (灰色, 100 点)

割り算の練習! 問題へのリンク 問題概要 トラックには合計で キログラム以下の荷物を載せることができます。 このトラックに、1 個 キログラムのレンガを最大でいくつ載せることができますか? 解法 中学 1 年生の数学「文字と式」を習うときの気持ちを思い…

AtCoder ABC 185 A - ABC Preparation (灰色, 100 点)

面白い問題! 問題へのリンク 問題概要 コンテストを開くための 100, 200, 300, 400 点問題がそれぞれ 問ずつあつ。 100, 200, 300, 400 点問題を 1 問ずつ集めることで 1 回のコンテストを開くことができる。 何回のコンテストを開くことができるか。 解法 …

AtCoder ABC 184 A - Determinant (灰色, 100 点)

一瞬、「行列式ってなに!?」となるかもしれない。しかし、式が書いてあるので、それを使えば OK。 問題へのリンク 問題概要 整数 が与えられる。 の値を出力せよ。 解法 問題文には「行列式」とか書いてあって、一瞬ビビるけど、ビビる必要はない。行列式…

AtCoder ABC 183 A - ReLU (灰色, 100 点)

if 文を使ってもいいし、関数 max() を使ってもよい。 問題へのリンク 問題概要 整数 が与えられる。 ならば を出力せよ ならば 0 を出力せよ 解法 (1):if 文 if 文を用いて、 であるかどうかを判定して、処理を分けよう。 #include <bits/stdc++.h> using namespace std; </bits/stdc++.h>…

AtCoder ABC 182 A - twiblr (灰色, 100 点)

四則演算を使いこなそう! 問題へのリンク 問題概要 ある SNS では、 2 × (フォロワー数) + 100 [人] までフォローすることができる。今のフォロワー数が 、フォロー数が である場合に、あと何人フォローできるかを答えよ。 解法 フォローできる上限人数は […

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

偶数か奇数かを判定する問題! 問題へのリンク 問題概要 高橋君の今日の状態は "White" である。 毎日 "White" と "Black" が入れ替わる。 日後の状態を答えよ。 解法 が偶数ならば、"White" が奇数ならば、"Black" である。 #include <bits/stdc++.h> using namespace std;</bits/stdc++.h>…

AtCoder ABC 180 A - box (灰色, 100 点)

これは簡単! 問題へのリンク 問題概要 個のボールが入っていた箱から 個を取り出し、新しく 個のボールを入れた。 箱の中に何個のボールが入っているか? 解法 個である。 #include <bits/stdc++.h> using namespace std; int main() { int N, A, B; cin >> N >> A >> B; c</bits/stdc++.h>…

AtCoder ABC 179 A - Plural Form (灰色, 100 点)

if 文の練習! 問題へのリンク 問題概要 文字列 が与えられる。 の末尾の文字が 's' のときは に "es" をつけて出力し、それ以外のときは に "s" をつけて出力せよ。 解法 の末尾の文字は S.back() で取得できる (C++)。その値によって、処理を分岐すればよ…

AtCoder ABC 178 A - Not (灰色, 100 点)

if 文を用いてもいいが、もっと楽にできる! 問題へのリンク 問題概要 0 か 1 である整数 が与えられる。 ならば 1 を出力し、 ならば 0 を出力せよ。 解法 if 文を用いてもよいが、 を出力するのが簡単だ。 #include <bits/stdc++.h> using namespace std; int main() { in</bits/stdc++.h>…

AtCoder ABC 177 A - Don't be late (灰色, 100 点)

double 型を使いたくなる問題。実は使わなくても解ける。 問題へのリンク 問題概要 メートル離れた場所で待ち合わせがある。残り時間は 分である。 分速 メートルで向かうとき、待ち合わせ時間に間に合うか? 解法 分速 メートルで メートル進むのに要する時…

AtCoder ABC 176 A - Takoyaki (灰色, 100 点)

この手の「切り上げ処理」は、もう憶えてしまおう! 問題へのリンク 問題概要 個のたこ焼きを作りたい。 たこやきを作り始めてから、 秒おきに 個のたこ焼きを作る。 個のたこ焼きを作り切るのに最低何秒かかるか。 解法 たこやきを生産する回数は、次のよう…

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

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

AtCoder ABC 174 A - Air Conditioner (灰色, 100 点)

久しぶりに簡単な問題! 問題へのリンク 問題概要 整数 が与えられる。 が 30 以上ならば "Yes"、そうでなければ "No" を出力せよ。 解法 if 文を使おう。 #include <bits/stdc++.h> using namespace std; int main() { int X; cin >> X; if (X >= 30) cout << "Yes" << end</bits/stdc++.h>…

AtCoder ABC 173 A - Payment (灰色, 100 点)

これはちょっと難しい。 問題へのリンク 問題概要 円の買い物をした。1000 円札のみを用いて支払うとき、お釣りはいくらになるか? 解法 まず、 が 1000 で割り切れるときは、お釣りはない。つまり、0 円である。 が 1000 で割り切れないときが少し難しい。…

AtCoder ABC 172 A - Calc (灰色, 100 点)

算数の素養は必要なく、ただ本当に計算式を実装する。 問題へのリンク 問題概要 整数 が与えられる。 の値を出力せよ。 解法 とは、 のことである。また、 とは、 のことである。 よって、 a + a * a + a * a * a の値を出力すればよい。 #include <bits/stdc++.h> using na</bits/stdc++.h>…

AtCoder ABC 171 A - αlphabet (灰色, 100 点)

大文字小文字の判定問題。 問題へのリンク 問題概要 文字 が与えられる。これが大文字ならば "A" を、小文字ならば "a" を出力せよ。 解法 一般に、文字 c が大文字であるかどうかは C++ ならば、 isupper(c) によって判定できる。 #include <bits/stdc++.h> using namespac</bits/stdc++.h>…

AtCoder ABC 170 A - Five Variables (灰色, 100 点)

これ結構難しいと思うけど、Difficulty 8 なのすごい! 問題へのリンク 問題概要 整数 が与えられる。このうち 1 つだけ 0 がある。 であるような を答えよ。 解法 if 文で 1 個ずつ見ていってもいいが、for 文でまとめて扱った方が楽だと思う。 #include <bits/stdc++.h> u</bits/stdc++.h>…

AtCoder ABC 169 A - Multiplication 1 (灰色, 100 点)

ABC の中でトップクラスに易しい問題 問題へのリンク 問題概要 2 個の整数 が与えられる。 の値を出力せよ。 解法 A * B を出力すればよい。 #include <bits/stdc++.h> using namespace std; int main() { int A, B; cin >> A >> B; cout << A * B << endl; }</bits/stdc++.h>

AtCoder ABC 168 A - ∴ (Therefore) (灰色, 100 点)

ちょっと一見面倒な問題。 問題へのリンク 問題概要 999 以下の正の整数 が与えられる。 解法 の一の位の値は N % 10 で取得できる。この値を調べればよい。 ここで、コツとして、if-else 文の最後の else のところが最も面倒なものが来るようにしよう。ここ…

AtCoder ABC 167 A - Registration (灰色, 100 点)

一見 for 文が必要だが、なしでも解ける 問題へのリンク 問題概要 2 つの文字列 が与えられる。 は より 1 文字多い。 が の末尾に 1 文字追加することで出来上がるものであるかどうかを判定せよ。 解法 の末尾の文字を削除しよう。C++ なら、 T.pop_back();…

AtCoder ABC 166 A - A?C (灰色, 100 点)

if 文の練習問題。 問題へのリンク 問題概要 文字列 が与えられる。 が "ABC" ならば "ARC" を、"ARC" ならば "ABC" を出力せよ。 解法 if 文で処理を分岐しよう。 #include <bits/stdc++.h> using namespace std; int main() { string S; cin >> S; if (S == "ABC") cout <</bits/stdc++.h>…

AtCoder ABC 165 A - We Love Golf

色んな解法がある! この手の数値的なものに対して「全探索」という解法を選択肢に持てるようにしていこう。 問題へのリンク 問題概要 3 個の正の整数 が与えられる。次の条件を満たす整数が存在するかどうかを判定せよ。 の倍数である 以上 以下である 制約…

AtCoder ABC 164 A - Sheep and Wolves (灰色, 100 点)

易しい問題だけど、どっちがどっちだけ......となりやすい問題なので、サンプルで確認してから提出しよう! 問題へのリンク 問題概要 2 つの整数 が与えられる。 が 以上であるならば "unsafe" と出力し、そうでなければ "safe" と出力せよ。 解法 問題の意…

AtCoder ABC 162 A - Lucky 7 (灰色, 100 点)

これは文字列で入力を受け取って処理した方が楽! 問題へのリンク 問題概要 3 桁の整数 が与えられる。 の桁の値に 7 が含まれるかどうかを判定せよ。 解法 を整数として処理することもできるが、文字列として受け取った方が楽。 文字列ならば、N[0] と N[1]…

AtCoder ABC 161 A - ABC Swap (灰色, 100 点)

言われた通りの操作を愚直に実行するのが、何も考えなくてよくて楽だと思う! 問題へのリンク 問題概要 箱 A, B, C に、それぞれ数 の書かれたカードを入れる。 箱 A, B の中身を入れ替える 箱 A, C の中身を入れ替える これらの操作を順に実行したあとの、…

AtCoder ABC 160 A - Coffee (灰色, 100 点)

文字列の index アクセスと、論理演算子「&&」の理解を問う問題。 問題へのリンク 問題概要 長さ 6 の文字列が "coffee" 的であるとは、 3 文字目と 4 文字目が等しい 5 文字目と 6 文字目が等しい という条件をともに満たすことを言います。 与えられた長さ…

AtCoder ABC 159 A - The Number of Even Pairs (灰色, 100 点)

nC2 系の問題は ABC-D などで頻出だが、その練習ができる問題! 問題へのリンク 問題概要 偶数の書かれたボールが 個 奇数の書かれたボールが 個 あります。これら 個のボールから 2 個選んで、書かれた数の和をとります。 この和が偶数になるような選び方は…

AtCoder ABC 158 A - Station and Bus (灰色, 100 点)

ABC-A のスキルではないけど、ソートしてしまうのが楽。 問題へのリンク 問題概要 長さ 3 の文字列 が与えられる。 に含まれる文字は 'A' か 'B' のいずれかである。 この文字列が 'A' と 'B' をともに含むかどうかを判定せよ。 解法 をソートするのが楽だと…

AtCoder ABC 157 A - Duplex Printing (灰色, 100 点)

この切り上げ処理はぜひ憶えておこう! 問題へのリンク 問題概要 高橋君は、全 ページから成る書類を両面印刷する。両面印刷では、1 枚の紙に 2 ページ分のデータを印刷することができる。 最小で何枚の紙が必要か求めよ。 解法 が偶数のときは、 は 2 で割…