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

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

NoviSteps9Q

JOI 一次予選 2021 (第 3 回) A - 計算 (9Q, 難易度 1)

関数 max() と関数 min() を使いこなそう! 問題へのリンク 問題概要 2 つの整数 が与えられる。 と のうち、最大のものと最小のものを順に出力せよ。 解法 まず、 と のうちの最大のものは max(A + B, A - B) と表せます。なお、 と が同じ値である場合には…

AtCoder ABC 244 A - Last Letter (9Q, 灰色, 100 点)

文字列の末尾の文字を取得する方法を確認しておこう! 問題へのリンク 問題概要 長さ の文字列 が与えられる。 の末尾の文字を出力せよ。 解法 C++ では、文字列 S の末尾の文字は S.back() によって取得できます。 別解 文字列 S の長さが であるとき、末尾…

JOI 一次予選 2023 (第 3 回) B - 11 月 (9Q, 難易度 1)

文字式と、if 文の練習! 問題へのリンク 問題概要 2022 年 11 月 日の 週間後が 11 月 30 日以前ならば 1 を出力し、そうでなければ 0 を出力せよ。 解法 11 月 日の 週間後は、11 月換算で 日 となる。これが 30 以下であるかどうかを判定すればよい。 コ…

JOI 一次予選 2023 (第 3 回) A - 2 桁の整数 (9Q, 難易度 1)

十の位と一の位から、整数値を求めよう。 問題へのリンク 問題概要 2 つの整数 が与えられる。 十の位が 、一の位が であるような 2 桁の正の整数を求めよ。 制約 考えたこと このような問いは、中学数学でよく学ぶ。 一般に、十の位が 、一の位が であるよ…

AtCoder ABC 269 A - Anyway Takahashi (9Q, 灰色, 100 点)

標準入出力と、四則演算の演算子の使い方を確認する問題。 問題へのリンク 問題概要 4 個の整数 が与えられる。 1 行目には、 の値を出力し、 2 行目には、"Takahashi" と出力せよ。 解法 標準入力を用いて整数値 の値を受け取ります。 その後、1 行目には (…

AtCoder ABC 231 A - Water Pressure (9Q, 灰色, 100 点)

算数的な感覚を磨こう! そして、浮動小数点型の値の出力方法を確認しよう。 問題へのリンク 問題概要 水圧は水深のみに依存し、水深 [m] の場所では [MPa] になるものとします。 水深 [m] の場所の水圧は何 [MPa] ですか? 解法 答えは MPa となる。 ただし…

AtCoder ABC 230 A - AtCoder Quiz 3 (9Q, 灰色, 100 点)

N の値に応じて、N の値を 1 上げよう。 問題へのリンク 問題概要 回目に開催された "AGC" を、たとえば "AGC051" のように出力せよ。 なお、"AGC042" は存在せずに欠番になっているため。42 回目の AGC は "AGC043" であり、43 回目の AGC は "AGC044" であ…

JOI 一次予選 2022 (第 1 回) A - 余り (9Q, 難易度 1)

余りを求めるための剰余演算子「%」を確認しておこう! 問題へのリンク 問題概要 正の整数 が与えられるので、 を 21 で割った余りを出力せよ。 解法 X を 21 で割った余りは、演算子「%」を用いて、 X % 21 によって求められます。 コード #include <bits/stdc++.h> using </bits/stdc++.h>…

JOI 一次予選 2024 (第 2 回) A - 飴の袋詰め (9Q, 難易度 1)

例によって、一次予選の A 問題は教育的! 問題へのリンク editorials 問題概要 1 個 円の飴を 個と、 円の袋を 1 つ買う。 合計金額はいくらか求めよ。 解法 答えは です。 プログラムでは、整数値 A, B, C を標準入力で受け取って、整数値 A * B + C を標…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AtCoder ABC 166 A - A?C (9Q, 灰色, 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 161 A - ABC Swap (9Q, 灰色, 100 点)

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

AtCoder ABC 149 A - Strings (9Q, 灰色, 100 点)

文字列型が定義されている言語なら簡単! 問題へのリンク 問題概要 2 つの文字列 が与えられる。 の順に連結して得られる文字列を出力せよ。 解法 問題文に書いてある通りに、文字列を連結して答えてもよいが、それよりは単純に をこの順に出力する方が楽。 …

AtCoder ABC 148 A - Round One (9Q, 灰色, 100 点)

発想ゲー。 問題へのリンク 問題概要 1, 2, 3 のうちの 2 つの整数 が与えられる。 残りの整数を答えよ。 解法 色んな解法が考えられる。 の値で場合分けして解くこともできる。 しかし、最も簡単なのは、合計値が なのだから、そこから と を引く方法であろ…

AtCoder ABC 145 A - Circle (9Q, 灰色, 100 点)

ちょっと図形問題! でも、サンプルから法則を見つける解き方もできそう。 問題へのリンク 問題概要 半径 の円の面積が、半径 1 の円の面積の何倍であるかを答えよ。 解法 1:円の面積の公式 半径 の円の面積は である。これに対して、半径 の円の面積は、 …

AtCoder ABC 133 A - T or T (9Q, 灰色, 100 点)

久しぶりの易しい問題! 問題へのリンク 問題概要 電車を使うと 1 人あたり 円かかります。 タクシーを使うと 人で 円かかります。 人で移動する最小料金はいくらか。 解法 A * N B のうちの小さい方を答えれば OK。関数 min() が使える。 #include <bits/stdc++.h> using n</bits/stdc++.h>…

AtCoder ABC 128 A - Apple Pie (灰色, 100 点)

ちょっと整理が難しい文章題。 問題へのリンク 問題概要 りんごが 個、りんごの欠片が 個ある。 1 個のりんごを砕くと、りんごの欠片が 個できる 2 個のりんごの欠片を使うと、アップルパイが 1 個できる 今ある材料から、最大で何個のアップルパイが作れる…

AtCoder ABC 127 A - Ferris Wheel (灰色, 100 点)

if 文を上手に使おう! 問題へのリンク 問題概要 ある観覧車の利用料金は年齢に応じて次のとおりである。 13 歳以上は 円かかる。 6 歳以上 12 歳以下は 円の半額がかかる。( は偶数) 5 歳以下は無料 歳の高橋君が観覧車に乗るときの利用料金を求めよ。 解法…

AtCoder ABC 121 A - White Cells (9Q, 灰色, 100 点)

過去に似た問題があった。その応用問題と言える。 問題へのリンク 問題概要 の白色のマス目がある。 行と 列を選んで、すべて黒色に塗った。 白色のマス目は何個残るか。 解法 白い部分をかき集めると、 の長方形となる。 #include <bits/stdc++.h> using namespace std; in</bits/stdc++.h>…

AtCoder ABC 120 A - Favorite Sound (灰色, 100 点)

if 文を使ってもいいし、関数 max() を使ってもいい 問題へのリンク 問題概要 買いたいものがある。 円で 1 個買うことができる。 円持っている。 ただし、 個以上は要らない。何個買えるか。 解法 最後の「 個以上は要らない」がなければ、B / A が答えとな…

AtCoder ABC 118 A - B +/- A (灰色, 100 点)

倍数判定は演算子「%」を用いる! 問題へのリンク 問題概要 2 つの正の整数 が与えられる。 が の約数ならば の値を出力し、そうでないならば の値を出力せよ。 解法 が の約数 (言い換えると、 が で割り切れる) であるかどうかは、 if (B % A == 0) という…

AtCoder ABC 116 A - Right Triangle (9Q, 灰色, 100 点)

直角三角形の面積を求める問題。 問題へのリンク 問題概要 ∠ ABC = 90° の直角三角形がある。 辺 AB, BC, CA の長さが与えられるので、直角三角形の面積を求めよ。 解法 直角を挟む二辺は、AB, BC であるから、面積は と計算できる。 実装するときには、整数…

AtCoder ABC 113 A - Discount Fare (灰色, 100 点)

意外と問題文が読みにくい気もする。 問題へのリンク 問題概要 電車とバスを乗り継いで目的地にいきます。電車の運賃は 円、バスの運賃は 円でした。 ただし、バスの運賃が半額になる特別券を持っていたので使用しました。合計料金はいくらだったでしょうか…

AtCoder ABC 091 A - Two Coins (9Q, 灰色, 100 点)

硬貨の問題! 問題へのリンク 問題概要 あなたは 円硬貨を 1 枚と、 円硬貨を 1 枚を持っている。 円の品物を購入できるかを判定せよ (お釣りは出ても良い)。 解法 所持金は 円であるから、 がそれ以下であれば OK。 #include <bits/stdc++.h> using namespace std; int mai</bits/stdc++.h>…