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

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

2個の整数の入力を扱う易しい問題

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

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

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

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

AtCoder ABC 107 A - Train (灰色, 100 点)

これまた重要な典型問題! 問題へのリンク 問題概要 両編成の列車の 両目は後ろから何両目か? 解法 前から 両目は、後ろから 両目 前から 両目は、後ろから 両目 ... 前から 両目は、後ろから 両目 というようになっていて、気づくのは「前から何両目か」と…

AtCoder ABC 106 A - Garden (灰色, 100 点)

まさに算数!って感じの問題! 問題へのリンク 問題概要 下図のように、 の長方形領域から、縦横に幅 1 の道路がある。道路以外の部分の面積はいくらか? 解法 算数の典型問題! 道路の幅を除くと、縦の長さは 、横の長さは となるので、求める面積は となる…

AtCoder ABC 105 A - AtCoder Crackers (灰色, 100 点)

分配に関する面白い問題! 問題へのリンク 問題概要 枚のせんべいを 人に配る。 「最も多くのせんべいをもらった人」と「最も少ないせんべいをもらった人」の、もらったせんべいの個数の差を求めよ。 解法 もし、 が で割り切れるならば、全員に公平に分配で…

AtCoder ABC 334 A - Christmas Present (灰色, 100 点)

近年ここまで簡単な問題は珍しい! 2016 年でも通用する A 問題! 問題へのリンク 問題概要 2 個の整数 が与えられる。 のとき:"Bat" のとき:"Glove" と出力せよ。 解法 if 文で、どちらの方が大きいかを判定すれば OK。 #include <bits/stdc++.h> using namespace std; i</bits/stdc++.h>…

AtCoder ABC 098 A - Add Sub Mul (灰色, 100 点)

関数 max() の使い方に慣れていれば解ける! 問題へのリンク 問題概要 2 個の整数 が与えられる。 の最大値を答えよ。 解法 関数 max() を使えばよい。C++ では、3 個以上の最大値を答えるときは、次のコードのように {} で囲うようにしよう。 #include <bits/stdc++.h> usi</bits/stdc++.h>…

AtCoder ABC 096 A - Day of Takahashi (灰色, 100 点)

一瞬、各月の日数を考えないといけない気がして面倒だ......となった。でもその必要はなかった。 問題へのリンク 問題概要 2018 年 1 月 1 日から、2018 年 月 日までに、「月と日が等しい日」が何日あるかを数えてください。 解法 この手の問題では手を動か…

AtCoder ABC 086 A - Product (灰色, 100 点)

ABS に採用した問題! 問題へのリンク 問題概要 2 つの正の整数 が与えられる。 が偶数か奇数かを判定せよ。 解法 一般に、整数 N が偶数かどうかを判定する方法は、if (N % 2 == 0) とすればよい。これを応用して解ける。 #include <bits/stdc++.h> using namespace std; i</bits/stdc++.h>…

AtCoder ABC 082 A - Round Up the Mean (灰色, 100 点)

「切り上げ処理」を要求する問題! 問題へのリンク 問題概要 2 つの正の整数 が与えられる。 の平均値を求め、小数点以下を切り上げて得られる整数値を答えよ。 解法 が偶数ならば、平均値は整数であって、答えは (a + b) / 2 となる が奇数ならば、平均値は…

AtCoder ABC 076 A - Rating Goal (灰色, 100 点)

平均算! 問題へのリンク 問題概要 整数 が与えられる。 と の平均が になるような整数 を求めよ。 解法 平均の定義から、 となる。これを について解くと、 となる。このような式変形は中2「式の計算」で学ぶ。 #include <bits/stdc++.h> using namespace std; int main() </bits/stdc++.h>…

AtCoder ABC 074 A - Bichrome Cells (灰色, 100 点)

これは簡単! 問題へのリンク 問題概要 のマス目があって、それぞれ白黒に塗られている。 マスが白色であるとき、黒色は何マスか? 解法 全部で マスがあるので、黒色マスの個数は となる。 #include <bits/stdc++.h> using namespace std; int main() { int N, A; cin >> N</bits/stdc++.h>…

AtCoder ABC 072 A - Sandglass2 (灰色, 100 点)

if 文を使ってもいいし、関数 max() を使ってもいい 問題へのリンク 問題概要 秒を測れる砂時計がある。 g あって、1 秒間に 1 g の砂が落ちる。 砂時計の計測を始めてから、 秒間がたった。残っている砂は何 g でしょうか。 解法 基本的には引き算すればよ…

AtCoder ABC 069 A - K-City (灰色, 100 点)

植木算する! 問題へのリンク 問題概要 東西方向に 本、南北方向に 本の道がある。 道路に囲まれた区画の個数を求めよ。 解法 たとえば、 のときは下図のようになる (入力例 1 より)。 のとき、横方向には 行ある のとき、縦方向には 列ある これらはそれぞ…

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

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

AtCoder ABC 063 A - Restricted (灰色, 100 点)

if 文のいい練習問題! 問題へのリンク 問題概要 2 つの整数 が与えられる。 が 10 以上ならば "error" を出力し、そうでないならば足し算した結果の値を出力せよ。 解法 if 文を使おう! #include <bits/stdc++.h> using namespace std; int main() { int A, B; cin >> A ></bits/stdc++.h>…

AtCoder ABC 057 A - Remaining Time (灰色, 100 点)

24 時制の問題 問題へのリンク 問題概要 24 時制で 時から 時間後の時刻を 24 時制で表したものを求めよ。 解法 基本的には を計算すればよい。もし 24 を超えたら 24 を引けばよい。 あるいは、剰余演算子「%」を用いて (A + B) % 24 を求めてもよい。 #inc…

AtCoder ABC 054 A - One Card Poker (灰色, 100 点)

やり方を工夫しないと迷いそう 問題へのリンク 問題概要 Alice と Bob は、それぞれ と書かれたカードを持っている。カードの数字は、 のいずれかである。カードの数字の強さは、 2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < 11 < 12 < 13 < 1 である。 Alice と …

AtCoder ABC 050 A - Addition and Subtraction Easy (灰色, 100 点)

いかにも C 言語を習いたての学生さんに対する演習問題という感じ 問題へのリンク 問題概要 2 つの整数 と、演算子を表す 1 つの文字列 が与えられる。 は '+' か '-' のいずれかである。 演算結果を求めよ。 解法 if 文を用いて処理を分岐する。 #include <bits/stdc++.h> </bits/stdc++.h>…

AtCoder ABC 309 A - Nine (灰色, 100 点)

上手に整理しよう 問題へのリンク 問題概要 下図のような のグリッドが与えられる。 2 つの整数 ( を満たす) が与えられるので、これら 2 つの整数がグリッド上で左右に隣接しているかどうかを判定せよ。 考えたこと 2 つの数字が左右に隣接するのは、次の 6…

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

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

AtCode ABC 320 A - Leyland Number (灰色, 100 点)

for 文の練習 問題へのリンク 問題概要 正の整数 が与えられる。 の値を求めよ。 コード とは、 を 回かけた値である。よって、次のように for 文で求められる。 long long res = 1; for (int i = 0; i < B; ++i) { // A をかける操作を B 回行う res *= A; …

Yosupo Library Checker - A + B

Yosupo Judge で最初に解くであろう問題 問題へのリンク 問題概要 2 つの整数 が与えられるので、 を出力してください。 制約 考えたこと 10Q 相当の問題。標準入力ができる人なら解けるはず。 コード #include <iostream> #include <vector> using namespace std; int main() </vector></iostream>…

AtCoder ABC 213 A - Bitwise Exclusive Or (100 点)

XOR は 2 回やると元に戻る!!!(素振り!) 問題へのリンク 問題概要 非負整数 が与えられます。 ^ = を満たす整数 を求めてください。 制約 XOR とは XOR 演算は、AND と OR と同じく、ビット (整数) 同士で定義される演算です。ビットについては次の記事…