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

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

JOI

JOI 一次予選 2025 第 2 回 B - 鉄道旅行 3 (8Q, 難易度 2)

if 文の練習問題 問題へのリンク 問題概要 ビ太郎は JOI 鉄道に乗って旅行をする。JOI 鉄道の運賃ははじめの km までは 1 km あたり 円で、それ以降の運賃は 1 km あたり 円で計算される。 km 乗車するとき、運賃はいくらになるか出力せよ。 解法 距離が 以…

JOI 一次予選 2025 第 2 回 A - 徒競走 (9Q, 難易度 1)

中1レベルの数学の素養が必要になる。文字式の扱いに慣れていれば解けるはず! 問題へのリンク 問題概要 ビ太郎は 秒間,秒速 m で走った。 何 m 走ったか出力せよ。 解法 答えは、数式で書くと となる。 これをプログラムで書いてみよう。整数値 を整数型変…

JOI 予選 2010 C - パーティー (AOJ 0545) (4Q, 難易度 4)

グラフの基本問題! 問題へのリンク 問題概要 の人 がいる。 組の友達関係があって、 組目の友達は人 と である。 人 1 の友達と、人 1 の友達の友達に相当する人 (人 1 を除く) が何人いるかを答えよ。 制約 解法 この問題はグラフの練習問題といえる。グラ…

JOI 予選 2010 B - すごろく (AOJ 0544) (6Q, 難易度 3)

すごろくを題材にした問題。すごろくの各マスには「oo マス進む」などの指示がある。これを上手に管理しよう。 問題へのリンク 問題概要 マス からなる双六が与えられる。マス 1 がスタート、マス 以上がゴールである。 回サイコロを振って、 回目には目 だ…

JOI 二次予選 2020 A - ポスター (AOJ 0672) (4Q, 難易度 4)

ちょっと重たい全探索問題 問題へのリンク 問題概要 の形に配列された二次元文字列 が与えられる。 に対して、次の操作を繰り返すことで に一致させたい。 反時計回りに 90 度回転する (コスト 1) 時計回りに 90 度回転する (コスト 1) 1 マス選んで文字を変…

JOIG 本選 2022 A - ピアノコンクール (AOJ 0729) (7Q, 難易度 2)

for 文の練習! 問題へのリンク 問題概要 個の整数 のうち、最大値と最小値を除外した 個の整数の総和を求めよ。 制約 個の整数はすべて互いに相異なる 解法 まず 個の整数を「配列」として受け取りましょう (C++ では vector<int> 型など)。 その後、配列に対し</int>…

JOI 二次予選 2022 A - 図書館 2 (AOJ 0719) (4Q, 難易度 2)

スタックを用いたシミュレーション問題! 問題へのリンク 問題概要 最初、本は積まれていない。次の 回のクエリに答えよ 【クエリ】 各クエリでは文字列 が与えられる。 が "READ" ではないとき、タイトルが である本が新たに上に積まれる が "READ" である…

JOI 一次予選 2025 第 1 回 D - どら焼き (7Q, 難易度 2)

多重 for 文の練習! 問題へのリンク 問題概要 2 つの数列 、 が与えられる。数列 からそれぞれ 1 個ずつ選んでできる 個のペアについて 「その和」と「その最大値」の積 を求めて、それらの総和を求めよ。 制約 考えたこと 2 つの数列からそれぞれ要素をと…

JOI 一次予選 2025 第 1 回 C - OIJ (7Q, 難易度 2)

for 文と if 文の練習! 問題へのリンク 問題概要 文字 J, O, I からなる長さ の文字列 が与えられる。 この文字列において、J を O に、O を I に、I を J に置換した文字列を答えよ。 解法 for 文を用いることで、 の各文字にアクセスすることができる。左…

JOI 一次予選 2025 第 1 回 B - 散歩 (8Q, 難易度 1)

ちょっとした算数的な考え方が必要になる問題 問題へのリンク 問題概要 JOI 君は以下の行動を行動 A → 行動 B → 行動 A → ⋯ のように交互に繰り返す。 行動 A:3m 前に進む 行動 B:2m 後ろに戻る 行動を合わせて 回行うとき、何m進むか? 解法 このような問…

JOI 一次予選 2025 第 1 回 A - 鉛筆 2 (9Q, 難易度 1)

とても易しい算数の問題! 問題へのリンク 問題概要 円もっている。 1 個 5 円の鉛筆を何本買えるか? 解法 答えは「 を 5 で割った商」となります。これは C++ では A / 5 と書けます。 コード #include <bits/stdc++.h> using namespace std; int main() { int A; cin >> </bits/stdc++.h>…

JOI 予選 2009 F - ビンゴ (AOJ 0537) (1D, 難易度 7)

一見すると計算量が厳しい問題にも見える。ちょっとした発想の転換が必要になる。 問題へのリンク 問題概要 正の整数 が与えられる。次の条件を満たす 個の整数 の組が何個あるかを 100000 で割った値を求めよ。 制約 考えたこと 安直に考えると、次のような…

JOI 二次予選 2023 C - 塗りつぶし (AOJ 0749) (1Q, 難易度 7)

ちょっと実装が重たい。 問題へのリンク 問題概要 グリッドが与えられる。最初、どのマスにもなんらかの色(整数値)がついている。 マス から辺で接しているマスへの移動を繰り返し、マス と色が異なるマスに入ることなく移動できるマスの集まりを、マス の…

JOI 二次予選 2023 B - ジョイ四人組 (AOJ 0748) (2Q, 難易度 5)

「最大値と最小値の差」を最小化せよと言われたら、最大値または最小値を固定すると上手くいくことが多い! 問題へのリンク 問題概要 サイズが であるような 4 つの数列 が与えられる。 これらの数列から 1 個ずつ要素を選んで とする。 の値の最小値を求め…

JOIG 2024 B - ダンス (4Q, 難易度 4)

ちゃんと証明しようとすると、結構大変! 問題へのリンク 問題概要 人の生徒がいて、生徒 の身長は である。 これらの生徒を 2 人ずつ 組に分けて、どの組も身長差が 以下となるようにしたい。 そのようなことが可能かどうかを判定せよ。 制約 考えたこと こ…

JOI 予選 2009 E - シャッフル (AOJ 0536) (2D, 難易度 8)

シミュレーションと呼ばれるジャンルの中では、最も重たい部類の問題 問題へのリンク 問題概要 1 から までの整数の書かれたカードがこの順に並んでいる。このカード列に以下の 回の操作を行う。 回目の操作は、整数 ()によって表される。操作前のカードの…

JOI 予選 2009 D - 薄氷渡り (AOJ 0535) (2Q, 難易度 5)

再帰関数を使った全探索の練習! こういうのは本当に練習になる。 問題へのリンク 問題概要 各マスが 0 または 1 であるような の二次元グリッド が与えられる。 グリッド上の各マスを渡り歩いていく移動経路のうち、次の条件を満たすものを考える。 1 回の…

JOI 予選 2009 B - コンテスト (AOJ 0533) (6Q, 難易度 2)

ソートの練習問題 問題へのリンク 問題概要 20 個の整数が与えられる。 前半 10 個の整数のうち、大きい順に 3 個の整数の総和 後半 10 個の整数のうち、大きい順に 3 個の整数の総和 をそれぞれ求めよ。 解法 前半ができれば後半も同様なので、前半を考えま…

JOI 予選 2019 C - マルバツスタンプ (AOJ 0654) (4Q, 難易度 3)

文字列を左から見ていき、隣接する 2 文字が異なる箇所を見つけるやいなや、マルバツスタンプを使う、という Greedy でよい! 問題へのリンク 問題概要 マルスタンプ、バツスタンプ、マルバツスタンプの 3 種類がある。 マルスタンプを使うと、文字 'O' を印…

JOI 予選 2019 B - すごろくと駒 (AOJ 0653) (6Q, 難易度 2)

シミュレーションを冷静に実装しよう! 問題へのリンク 問題概要 マス があって、マス 1 はスタート、マス 2019 はゴールである。 個のコマがあり、それぞれ 番目にマスに置かれている。 次の 回の操作を実行する。 回目の操作ではコマ を動かそうとする も…

JOI 予選 2019 A - ソーシャルゲーム (AOJ 0652) (6Q, 難易度 2)

結構頭がこんがらがる問題だと思う。 問題へのリンク 問題概要 あるソーシャルゲームでは、1 日につき 1 回までログインすることができ、ログインするたびに 枚のコインが得られる。 さらに、月曜日から日曜日まで 7 日連続でログインすると、そのたびに、追…

JOI 春合宿 2022 day2-3 チーム戦 (3D, 難易度 10)

面白かった! 問題へのリンク 問題概要 人がいて、人 の考察力、実装力、運はそれぞれ である。 これら から 3 人を選ぶ。ただし、3 人全員について「考察力・実装力・運のうちのいずれかについては他 2 人よりも真に高い」という条件を満たさなければならな…

JOIG 春合宿 2022 day1-2 JOIG ツアー (1Q, 難易度 7)

「実は各点から左右に見て最も近い点だけ見れば良い」という点気考察をする! 問題へのリンク 問題概要 数直線上に 個の絵がある。 番目の絵のある位置の座標は であり、'J', 'O', 'I', 'G' のいずれかの文字 が書かれている。 これらの絵に対して、以下の …

JOI 予選 2017 A - 電子レンジ (AOJ 0630) (8Q, 難易度 1)

算数的な問題。頭がごっちゃになりやすいので頑張って求めよう。 問題へのリンク 問題概要 一般に、0 ℃ 未満の肉は凍っていて、0 ℃ の肉は凍っていることと凍っていないことがありえて、0 ℃ より温度の高い肉は凍っていない。また、 凍っている肉を 1 ℃ 温め…

JOI 予選 2016 A - 科目選択 (AOJ 0619) (9Q, 難易度 1)

関数 max() や min() を扱う練習! 問題へのリンク 問題概要 物理、化学、生物、地学、歴史、地理のテストで 点を得た。 物理、化学、生物、地学から 3 科目 歴史、地理から 1 科目 を選択したときの総得点の最大値を求めよ。 制約 考えたこと 結局、「物理…

JOI 予選 2015 A - 水道料金 (AOJ 0608) (8Q, 難易度 1)

価格系の問題! 問題へのリンク 問題概要 水道を リットル使用する。X 社と Y 社の料金体系は次のようになっている。 X 社:1 リットルあたり 円かかる Y 社:基本料金は 円であり、使用料が リットルを超えると 1 リットル超えるごとに 円かかる どちらを選…

JOI 予選 2014 A - 平均点 (AOJ 0592) (9Q, 難易度 1)

これは易しめの問題 問題へのリンク 問題概要 太郎君、次郎君、三郎君、四郎君、花子さんの 5 人がテストを受けた。テストの得点は 点であった。 これらの得点について、40 点未満だったら 40 点にした状態での平均点を求めよ。 考えたこと に対して、40 点…

JOI 予選 2013 A - 宿題 (AOJ 0576) (8Q, 難易度 1)

切り上げ処理! 問題へのリンク 問題概要 冬休みは 日ある。 国語の宿題は ページあって、1 日に ページ進めることができる 算数の宿題は ページあって、1 日に ページ進めることができる 1 日に国語と算数を両方進めることもできる。冬休みのうち、宿題をや…

JOI 予選 2012 A - ランチ (AOJ 0565) (9Q, 難易度 1)

関数 min() が使えると楽! 問題へのリンク 問題概要 3 種類のパスタから 1 つ、2 種類のジュースから 1 つ選んで注文する。各パスタの価格と、各ジュールの価格が与えられる。 その金額の総和から 50 円を引いた金額を支払う。支払う金額の最小値を求めよ。…

JOI 予選 2010 A - レシート (AOJ 0543) (8Q, 難易度 1)

for 文を使わなくても解けるけど、使えると楽! 問題へのリンク 問題概要 10 冊の本を買った。その総額と、そのうちの 9 冊の価格が分かっている。残り 1 冊の本の価格を求めよ。 考えたこと まず総額の入力データを読み込みましょう。 そのあと、9 個の整数…