算数と数学:不等式を立てる
すごく数学的な問題 問題へのリンク 問題概要 縦、横、高さの総和が であるような直方体の体積の最大値を求めよ。 制約 考えたこと 縦、横、高さの長さを としよう。このとき、次の問題になる。 のとき、 の最大値を求めよ この手の問題では、 のとき最大に…
簡単な if 文の問題! 問題へのリンク 問題概要 日本では、ツバメは 4 月から 9 月まで観察できる。 1 以上 12 以下の整数 が与えられるので、 月にツバメを観察できるか答えてください。 考えたこと 次のように考えればよい。 のとき:"Yes" そうでないとき…
ややこしいけど、落ち着いて考えればできる! 問題へのリンク 問題概要 AtCoder 王国の住民は 時になるとたこ焼きへの愛を叫ぶことになっている。 AtCoder 王国に住む高橋君は毎日 時に就寝し 時に起床する。 高橋君はたこ焼きへの愛を叫ぶことができている…
頭がこんがらがる系の問題! 問題へのリンク 問題概要 高橋君と青木君を候補者とする選挙が行われ、 票が投票された。 現在開票中で、高橋君が 票、青木君が 票を得ている。この時点で残りの票にかかわらず勝敗が確定しているかどうかを判定せよ。 制約 は奇…
ちょっと細かいところミスった人も多いかもしれないね。 問題へのリンク 問題概要 ビ太郎は帰省することにした。 今日から 日後の午前に実家に着き、今日から 日後の午前に実家を去る。 それを聞きつけたビバ子は、今日から 日後の午後にビ太郎の実家を訪れ…
少し数学を頑張ろう! 問題へのリンク 問題概要 A 地点から B 地点に移動するのに 時間,B 地点から C 地点に移動するのに 時間かかる。 A 地点から B 地点を経由して C 地点に移動するとき、 時間 30 分以内に移動することができるか判定せよ。 制約 解法 …
文字式と、if 文の練習! 問題へのリンク 問題概要 2022 年 11 月 日の 週間後が 11 月 30 日以前ならば 1 を出力し、そうでなければ 0 を出力せよ。 解法 11 月 日の 週間後は、11 月換算で 日 となる。これが 30 以下であるかどうかを判定すればよい。 コ…
ちゃんと証明しようとすると、数学的帰納法などが必要になるが、推測して答えてもいいと思う。 問題へのリンク 問題概要 正の整数 が与えられる。 が成り立つかどうかを判定せよ。 制約 解法 この手の問題では、小さな で実験してみよう! そうすれば法則性…
オーバーフローについて学ぶ問題。 問題へのリンク 問題概要 与えられた整数 が 以上 未満であるかどうかを判定せよ。 解法 まず、 以上 未満に収まらないような数は int 型では扱えない。long long 型を使おう。 そして、 は 1LL<<31 と表せる。ここで、念…
これ結構難しい! 数式を丁寧に立てよう。 問題へのリンク 問題概要 箱に水色のボールが 個入っている。 「箱に 個の水色のボールと、 個の赤色のボールを入れる」という操作を繰り返すことで、赤色のボールの個数が水色のボールの個数の 倍以上となるように…
愚直に や を求めようとすると、色んな理由でおかしくなってしまう。数学的に綺麗に処理しよう! 問題へのリンク 問題概要 整数 が与えられる。 と の大小関係を求めよ (大きい、小さい、等しい)。 制約 考えたこと や はまともに計算するとものすごい桁数に…
算数系の問題! 問題へのリンク 問題概要 解法 入力の中に が含まれるが、これは結局使わない。こういう変数に惑わされないようにしよう。次の 2 つの場合に分けて考える。 のとき (上りのとき) のとき (下りのとき) 前者の場合は、"Yes" となる条件は と書…
これは結構大変! 問題へのリンク 問題概要 高橋君は、毎日 時 0 分に部屋の電気を点け、 時 0 分に部屋の電気を消す。電気をつけている間に日付が変わることもある。 時 30 分に部屋の電気がついているかどうかを判定せよ。 解法 これは整理するのが大変だ…
不等式を頑張って実装! 問題へのリンク 問題概要 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>…
不等式の問題! 問題へのリンク 問題概要 高橋君の投げたボールは、速度 で移動し、 秒後から 秒後の間に消える。 ボールから m の位置にいる青木君にとって、ボールが消えていないかどうかを判定せよ。 解法 消えている条件を不等式で書くと、次のようにな…
3-point shot で逆転できるという条件を、上手に数式に落とし込もう! 問題へのリンク 問題概要 バスケの試合で両チームの得点は 点である ( である)。 どちらかのチームに 3 点追加されたときに、逆転が起こるかどうかを判定せよ。 解法 のどちらが大きいか…
double 型を使いたくなる問題。実は使わなくても解ける。 問題へのリンク 問題概要 メートル離れた場所で待ち合わせがある。残り時間は 分である。 分速 メートルで向かうとき、待ち合わせ時間に間に合うか? 解法 分速 メートルで メートル進むのに要する時…
易しい問題だけど、どっちがどっちだけ......となりやすい問題なので、サンプルで確認してから提出しよう! 問題へのリンク 問題概要 2 つの整数 が与えられる。 が 以上であるならば "unsafe" と出力し、そうでなければ "safe" と出力せよ。 解法 問題の意…
if 文の練習。 問題へのリンク 問題概要 円玉が 枚ある。 総額が 円以上ならば "Yes" を出力し、そうでなければ "No" を出力せよ。 解法 総額は 500 * K と表せるので、これが X 以上であるかどうかを判定すればよい。 #include <bits/stdc++.h> using namespace std; int m</bits/stdc++.h>…
ほどよい算数の問題! 問題へのリンク 問題概要 猫と犬が合わせて 匹いて、そのうちの 匹は猫であることがわかっている。残りの 匹は猫か犬かわからない。 この中に猫がちょうど 匹いるようなことはありうるかどうかを判定せよ。 解法 不等式を立てる技能が…
硬貨の問題! 問題へのリンク 問題概要 あなたは 円硬貨を 1 枚と、 円硬貨を 1 枚を持っている。 円の品物を購入できるかを判定せよ (お釣りは出ても良い)。 解法 所持金は 円であるから、 がそれ以下であれば OK。 #include <bits/stdc++.h> using namespace std; int mai</bits/stdc++.h>…
これはちゃんと整理するの大変だと思う! 問題へのリンク 問題概要 ある商品は、賞味期限を過ぎてから 日後まではお腹を壊さずに食べることができる。一方、賞味期限を過ぎてから食べると美味しくありません。 その商品を、賞味期限の 日前に購入し、その日…
C++ では if (A <= C <= B) では判定できないことに注意 問題へのリンク 問題概要 3 つの整数 が与えられる。 が 以上 以下であるかを判定せよ。 解法 C >= A かつ C <= B であるかを判定すれば OK。 Python なら if (A <= C <= B) で判定することもできる。…
落ち着いて整理しよう! 問題へのリンク 問題概要 100 階のビルで 階から 階へと移動したい。 2 階分までの上り、または、3 階分までの下りであれば移動には階段を使い、そうでないときエレベーターを使う。 階段を使うかどうかを判定せよ。 コード 落ち着い…