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

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

演算子「+」「-」「*」を用いる問題

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

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

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

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

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 193 A - Discount (灰色, 100 点)

割合を計算する問題! 問題へのリンク 問題概要 円のものが 円で売られた。何%引きか? 解法 答えは である。これを double 型などで計算して、小数点第 2〜3 位まで答えれば OK。 ここでは念の為に、小数点第 10 位まで出力した。 #include <bits/stdc++.h> using namespac</bits/stdc++.h>…

AtCoder ABC 192 A - Star (灰色, 100 点)

一見「切り上げ処理」が必要だが、実は要らない! 問題へのリンク 問題概要 コインが 枚ある。 よりも大きい最小の の倍数まで、あと何枚か? 解法 を 100 で割ったあまりを としよう。このとき、次の の倍数までは だけ必要である。たとえ、 が 100 で割り…

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

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

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

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

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 176 A - Takoyaki (灰色, 100 点)

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

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 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 157 A - Duplex Printing (灰色, 100 点)

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

AtCoder ABC 153 A - Serval vs Monster (灰色, 100 点)

これはとても教育的な問題!! 問題へのリンク 問題概要 HP が であるモンスターとサーバルは戦っている。 1 回の攻撃で HP を だけ減らすことができる。HP が 0 以下になるのに必要な攻撃回数を求めよ。 解法 (1) を で割ったときに、余りがあるならば追加…

AtCoder ABC 150 A - 500 Yen Coins (灰色, 100 点)

if 文の練習。 問題へのリンク 問題概要 円玉が 枚ある。 総額が 円以上ならば "Yes" を出力し、そうでなければ "No" を出力せよ。 解法 総額は 500 * K と表せるので、これが X 以上であるかどうかを判定すればよい。 #include <bits/stdc++.h> using namespace std; int m</bits/stdc++.h>…

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

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

AtCoder ABC 147 A - Blackjack (灰色, 100 点)

if 文の練習。こういう現実のゲームを題材とした問題は面白いね! 問題へのリンク 問題概要 以上 以下の 3 個の整数が与えられる。 これらの整数の総和が 22 以上ならば "bust"、そうでなければ "win" を出力せよ。 解法 3 個の整数を受け取って、総和が 22 …

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

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

AtCoder ABC 144 A - 9x9 (灰色, 100 点)

if 文も練習できる問題。 問題へのリンク 問題概要 2 個の正の整数 が与えられる。 がかけ算九九の中にあるならばその値を答え、ないならば -1 を答えよ。 解法 かけ算九九にあるという条件は、 if (A <= 9 && B <= 9) というように記述できる。 #include <bits/stdc++.h> u</bits/stdc++.h>…

AtCoder ABC 143 A - Curtain (灰色, 100 点)

また、関数 max() が使える案件。 問題へのリンク 問題概要 横の長さが であるカーテンレールに、横の長さが であるカーテン 2 枚を設置する。 カーテンレールのうち、カーテンが設置されていない部分の長さの最小値を求めよ。 解法 2 枚のカーテンを重なら…

AtCoder ABC 137 A - +-x (灰色, 100 点)

関数 max() を使おう! 問題へのリンク 問題概要 整数 が与えられる。 の最大値を答えよ。 解法 関数 max() を使えばよい。 #include <bits/stdc++.h> using namespace std; int main() { int A, B; cin >> A >> B; cout << max({A+B, A-B, A*B}) << endl; }</bits/stdc++.h>

AtCoder ABC 136 A - Transfer (灰色, 100 点)

if 文を使うか、関数 max() を使えば OK 問題へのリンク 問題概要 水を入れる容器が 2 つある。 容器 1 には水を ミリリットルまで入れることができ、水が ミリリットル入っている。 容器 2 には水が ミリリットル入っている。 容器 2 から容器 1 に入るだけ…

AtCoder ABC 134 A - Dodecagon (灰色, 100 点)

これは本当に言われたとおりにやるだけ! 問題へのリンク 問題概要 整数 の値が与えられるので、 の値を答えてください。 解法 標準入力を用いて r の値を受け取り、3 * r * r の値を出力すれば OK。 #include <bits/stdc++.h> using namespace std; int main() { int r; ci</bits/stdc++.h>…

AtCoder ABC 133 A - T or T (灰色, 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 125 A - Biscuit Generator (灰色, 100 点)

という表現が何を言っているんだ......と戸惑うかもしれない。これは、要は「ちょうど 秒後」も含むよということを言っている。 問題へのリンク 問題概要 ビスケット起動装置を起動してから、 秒後にそれぞれビスケットを 枚生成する。 起動してから 秒間の…