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

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

AtCoder100点

AtCoder ABC 350 A - Past ABCs (灰色, 100 点)

構文解析の初歩ですね。C++ なら、scanf() 関数を使うと楽ですね。 問題へのリンク 問題概要 "ABC197" のような長さ 6 の文字列 が与えられる。 何回目の ABC であるかを判定し、それが 316 回を除く、1〜349 回のいずれかであるかどうかを判定せよ。 解法 C…

AtCoder ABC 226 A - Round decimals (灰色, 100 点)

色んな方法がありそう! 問題へのリンク 問題概要 0 以上 100 未満の小数第三位までで表すことのできる実数 が、小数第三位まで入力されます。 を小数第一位で四捨五入した結果として得られる整数を出力してください。 考えたこと C++ で解く場合、入力は ci…

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

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

AtCoder ABC 224 A - Tires (灰色, 100 点)

文字列を上手に使う練習 問題へのリンク 問題概要 末尾が "er" か "ist" であるような文字列 (2 文字以上) が与えられます。 どちらであるかを判定してください。 解法 末尾が "er" であるかどうかを判定することにしよう。文字列 S の長さを N とするとき、…

AtCoder ABC 223 A - Exact Price (灰色, 100 点)

えぐいコーナーケースに注意! でもサンプルにあるね。 問題へのリンク 問題概要 財布に 円玉が 1 枚以上入っています。 財布に入っている合計金額がちょうど 円であるようなことが、あり得るかどうかを判定してください。 制約 考えたこと 基本的には「 が …

AtCoder ABC 222 A - Four Digits (灰色, 100 点)

色んな方法がある。C 言語では、 printf() 関数を用いるのが楽だと思われる。 問題へのリンク 問題概要 0 以上 9999 以下の整数 が与えられます。 の先頭に必要なだけ 0 をつけ、4 桁の文字列にしたものを出力してください。 解法 C 言語であれば、整数値 の…

AtCoder ABC 221 A - Seismic magnitude scales (灰色, 100 点)

for 文を用いるのが楽だと思う。 問題へのリンク 問題概要 マグニチュード の地震は、マグニチュード の地震の何倍の強さか? (1 上がると 32 倍となる) 制約 解法 を 回かけた値を求めればよい (つまり )。 これを求めるためには、関数 pow() を用いるか、f…

AtCoder ABC 220 A - Find Multiple (灰色, 100 点)

for 文を用いるのが楽だと思う。 問題へのリンク 問題概要 以上 以下の の倍数が存在するならば 1 つ求め、存在しない場合は -1 を出力せよ。 制約 考えたこと for 文を用いるのが最も楽だと思う。 について、 で割り切れるかどうかを判定していき、 割り切…

AtCoder ABC 219 A - AtCoder Quiz 2 (灰色, 100 点)

if 文を使って落ち着いて整理しよう。 問題へのリンク 問題概要 100 点満点の試験を受ける。得点に応じて以下の評価を受ける。 0 点以上 40 点未満のとき、初級 40 点以上 70 点未満のとき、中級 70 点以上 90 点未満のとき、上級 90 点以上のとき、エキスパ…

AtCoder ABC 218 A - Weather Forecast (灰色, 100 点)

まさに「文字列の index アクセス」を練習できる問題! 問題へのリンク 問題概要 7 文字の文字列 が与えられる。この文字列は 'o' と 'x' のみからなる。 この文字列の 番目の文字が 'o' であるならば "Yes"、そうでなければ "No" と答えよ。 解法 多くのプ…

AtCoder ABC 217 A - Lexicographic Order (灰色, 100 点)

辞書順という言葉は聞きなれないかもしれないが、ここでマスターしよう! 問題へのリンク 問題概要 文字列 が与えられる。 が よりも辞書順で小さいならば "Yes" を出力し、そうでなければ "No" を出力せよ。 解法 辞書順とは、その名の通り「辞書に出てくる…

AtCoder ABC 216 A - Signed Difficulty (灰色, 100 点)

これは C++ よりも C で書いた方が楽かもしれない! 問題へのリンク 問題概要 "15.3" のような形式で、小数点第一位まで示された小数が与えられる。 小数第一位の値が 0 以上 2 以下ならば、整数部分に "-" をつけて(たとえば "15-") 小数第一位の値が 3 以…

AtCoder ABC 215 A - Your First Judge (灰色, 100 点)

if 文と、文字列の練習 問題へのリンク 問題概要 文字列 が与えられる。 が文字列 "Hello,World!" と完全に一致するならば "AC" と出力し、そうでなければ "WA" と出力せよ。 解法 文字列 が ""Hello,World!" と完全に一致するかどうかは if (S == "Hello,Wo…

AtCoder ABC 214 A - New Generation ABC (灰色, 100 点)

基本情報科目 B でもよく出題されるテーマですね! 問題へのリンク 問題概要 整数値 () が与えられる。 ならば、4 ならば、6 ならば、8 を出力せよ。 解法 if 文のほどよい練習問題!! #include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; if (N </bits/stdc++.h>…

AtCoder ABC 212 A - Alloy (灰色, 100 点)

if 文を上手に使おう! 問題へのリンク 問題概要 グラムの純金と、 グラムの純銀を混ぜる かつ のときは "Gold" かつ のときは "Silver" かつ のときは "Alloy" と出力せよ。 解法 問題文に書いてある通りに判定しよう。最後の "Alloy" の判定は else のみで…

AtCoder ABC 211 A - Blood Pressure (灰色, 100 点)

double 型変数の練習! 問題へのリンク 問題概要 2 つの数 が与えられる。 の値を出力せよ。なお、絶対誤差または相対誤差が 以下であれば正解とみなされる。 解法 普段は整数型を扱うことが多いけど、今回は浮動小数点型を扱おう。そして、小数点以下 位以…

AtCoder ABC 210 A - Cabbages (灰色, 100 点)

基本情報などでもよく問われる構造の問題! 問題へのリンク 問題概要 キャベツ 1 個を 円で買える。ただし、 個以上買う場合は 1 個 円で買える ()。 キャベツを 個買うときの価格を求めよ。 解法 である場合 最初の 個の分: 円 残りの 個の分: 円 である…

AtCoder ABC 207 A - Repression (灰色, 100 点)

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

AtCoder ABC 206 A - Maxi-Buying (灰色, 100 点)

出力がややこしい...... 問題へのリンク 問題概要 税抜価格が 円の品物に対して、消費税 8% を乗せた税込価格と 206 円との大小比較をせよ。 (出力形式はリンク先から) 解法 税込価格は (int)(1.08 * N) で求めることができる。 #include <bits/stdc++.h> using namespace s</bits/stdc++.h>…

AtCoder ABC 205 A - kcal (灰色, 100 点)

算数ではよくある「比」の問題 問題へのリンク 問題概要 100mL あたり kcal のドリンクがある。 mL で何 kcal でしょうか? 解法 求めるカロリーを kcal とする。比で表すと、次のようになる。 内項の積と外項の積は等しいから、 よって、 と求められる。 今…

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

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

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

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

AtCoder ABC 202 A - Three Dice (灰色, 100 点)

算数! 問題へのリンク 問題概要 サイコロの 6 面のうち、3 面の数 が見えている。 隠れている残り 3 面の数の和を求めよ。 解法 6 面の数の和は なので、これから を引けばよい。 #include <bits/stdc++.h> using namespace std; int main() { int a, b, c; cin >> a >> b </bits/stdc++.h>…

AtCoder ABC 200 A - Century (灰色, 100 点)

切り上げ処理の問題! 問題へのリンク 問題概要 西暦 年は何世紀ですか? 解法 のとき、2 世紀 のとき、21 世紀 というように、 を 100 で割ったときの余りを切り上げたものが答えとなる。 これは、(N + 100 - 1) / 100 によって求められる (ここがピンと来…

AtCoder ABC 199 A - Square Inequality (灰色, 100 点)

不等式を頑張って実装! 問題へのリンク 問題概要 3 個の整数 が与えられる。 であるかどうかを判定せよ。 解法 if (A * A + B * B < C * C) によって判定できる。 #include <bits/stdc++.h> using namespace std; int main() { int A, B, C; cin >> A >> B >> C; if (A * A</bits/stdc++.h>…

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

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

AtCoder ABC 197 A - Rotate (灰色, 100 点)

文字列の練習 問題へのリンク 問題概要 長さ 3 の文字列 が与えられる。 の先頭の文字を末尾に移動してできる文字列を答えよ。 解法 文字 S[1]、S[2]、S[0] をこの順に出力すれば OK。 #include <bits/stdc++.h> using namespace std; int main() { string S; cin >> S; cou</bits/stdc++.h>…

AtCoder ABC 196 A - Difference Max (灰色, 100 点)

頑張って頭を整理しよう! 問題へのリンク 問題概要 整数 が与えられる。 , となるように整数 を選ぶとき、 の最大値を求めよ。 解法 を最大にするためには、 を最大にする を最小にする ようにすればよい。よって、 , のときに は最大であり、最大値は であ…

AtCoder ABC 195 A - Health M Death (灰色, 100 点)

これは簡単! 剰余演算子「%」を確認しよう! 問題へのリンク 問題概要 2 個の整数 が与えられる。 が の倍数であるかどうかを判定せよ。 解法 が の倍数であるとは、 を で割った余りが 0 であるということです。 を で割った余りは H % M と書けます。 以…

AtCoder ABC 194 A - I Scream (灰色, 100 点)

問題文が複雑! 問題へのリンク 問題概要 日本において、アイス製品は次の 4 種類に大別されます。 乳固形分が 15 パーセント以上、乳脂肪分が 8 パーセント以上含まれるものを「アイスクリーム」とする 上に当てはまらず、乳固形分が 10 パーセント以上、乳…