問題リスト|JOI 公式テキスト Python で問題解決

JOI 公式テキストの著者サポートページはこちら

設定

AtCoder ユーザ名を入力すると,表中の正解した問題に色が付くようになり,提出一覧には自分の提出だけが表示されるようになる.

解答例は筆者が作成したものである.ヒントや解答例に対するコメントを付けていることもある.
丁寧な解説は AtCoder の問題ページ右上の解説タブから閲覧できるが,筆者と同じ方針とは限らない.

01 Hello, world!

問題名 出典 備考
1.00.はじめに C++入門 AtCoder Programming Guide for beginners (APG4b) A 解答例 提出一覧

02 基本のプログラム

問題名 出典 備考
身長 JOI 2021/2022 一次予選 (第 3 回) 問題 A 解答例 提出一覧
立方体 JOI 2021/2022 一次予選 (第 2 回) 問題 A ヒント 解答例 提出一覧
box AtCoder Beginner Contest 180 問題 A ヒント 解答例 提出一覧
合計時間 JOI 2010/2011 予選 問題 A ヒント1 ヒント2 解答例 提出一覧
Garden AtCoder Beginner Contest 106 問題 A ヒント 解答例 提出一覧
Payment AtCoder Beginner Contest 173 問題 A ヒント 解答例 提出一覧

03 条件分岐で場合分け

問題名 出典 備考
帰省 JOI 2020/2021 一次予選 (第 2 回) 問題 A 解答例 提出一覧
計算 JOI 2020/2021 一次予選 (第 3 回) 問題 A ヒント 解答例 提出一覧
3 つの整数 JOI 2019/2020 一次予選 (第 1 回) 問題 A ヒント 解答例 提出一覧
アイスクリーム JOI 2021/2022 一次予選 (第 3 回) 問題 B ヒント 解答例1 解答例2 提出一覧
試験 JOI 2019/2020 一次予選 (第 2 回) 問題 A ヒント 解答例 提出一覧
2 番目に大きい整数 JOI 2019/2020 一次予選 (第 1 回) 問題 A ヒント 解答例 提出一覧

04 文字列

問題名 出典 備考
Rotate AtCoder Beginner Contest 197 問題 A 解答例 提出一覧
Weather Forecast AtCoder Beginner Contest 218 問題 A ヒント 解答例 提出一覧
Plural Form AtCoder Beginner Contest 179 問題 A ヒント 解答例 提出一覧
Tires AtCoder Beginner Contest 224 問題 A ヒント 解答例 提出一覧
Registration AtCoder Beginner Contest 167 問題 A ヒント 解答例 提出一覧
chukodai AtCoder Beginner Contest 236 問題 A ヒント 解答例 提出一覧

05 for ループで同じ処理を繰り返す

  • 類題よりも簡単な問題を出版後に追加した.
問題名 出典 備考
次の文字 JOI 2021/2022 一次予選 (第 2 回) 問題 C 解答例 提出一覧
wwwvvvvvv AtCoder Beginner Contest 279 問題 A ヒント 解答例 提出一覧 ※追加問題
Rightmost AtCoder Beginner Contest 276 問題 A ヒント 解答例 提出一覧 ※追加問題
IOI 文字列 JOI 2020/2021 一次予選 (第 3 回) 問題 B ヒント 解答例 提出一覧
運動会 JOI 2021/2022 一次予選 (第 3 回) 問題 C ヒント 解答例 提出一覧
JOI ソート JOI 2020/2021 一次予選 (第 1 回) 問題 B ヒント 解答例 提出一覧
巻物 JOIG 2021 問題 B ヒント 解答例 提出一覧
文字列の反転 JOI 2019/2020 一次予選 (第 2 回) 問題 B ヒント 解答例1 解答例2 提出一覧

06 リストで複数個の変数を管理

問題名 出典 備考
共通要素 JOI 2020/2021 一次予選 (第 1 回) 問題 C 解答例 提出一覧
ピアノコンクール JOIG 2021/2022 本選 問題 A ヒント 解答例 提出一覧
分割 JOI 2020/2021 一次予選 (第 2 回) 問題 C ヒント 解答例 提出一覧
最頻値 JOI 2019/2020 一次予選 (第 2 回) 問題 C ヒント 解答例 提出一覧
ボールの移動 JOI 2021/2022 一次予選 (第 3 回) 問題 D ヒント 解答例 提出一覧
希少な数 JOI 2021/2022 一次予選 (第 2 回) 問題 D ヒント 解答例 提出一覧

07 一次予選にバーチャル参加してみよう

問題名 出典 備考
余り JOI 2021/2022 一次予選 (第 1 回) 問題 A 解答例 提出一覧
移動 JOI 2021/2022 一次予選 (第 1 回) 問題 B 解答例1 解答例2 提出一覧
複雑な文字列 JOI 2021/2022 一次予選 (第 1 回) 問題 C 解答例 提出一覧
箱と鍵 JOI 2021/2022 一次予選 (第 1 回) 問題 D 解答例 提出一覧

08 while ループで複雑な繰り返し条件を扱う

問題名 出典 備考
ソーシャルゲーム JOI 2018/2019 予選 問題 A 解答例 提出一覧
Shampoo AtCoder Beginner Contest 243 問題 A 解答例 提出一覧
Collatz Problem AtCoder Beginner Contest 116 問題 B 解答例 提出一覧
マージ JOI 2019/2020 一次予選 (第 1 回) 問題 C 解答例 コメント 提出一覧

09 多重ループ

問題名 出典 備考
比較 JOI 2020/2021 一次予選 (第 3 回) 問題 C 解答例 提出一覧
ビ太郎と IOI JOI 2020/2021 一次予選 (第 2 回) 問題 B 解答例 提出一覧
掛け算 JOIG 2021/2022 本選 問題 B 解答例 提出一覧
最長昇順連続部分列 JOI 2019/2020 一次予選 (第 3 回) 問題 C 解答例 提出一覧
投票 JOI 2013/2014 予選 問題 B 解答例 提出一覧
カードゲーム JOI 2007/2008 予選 問題 C 解答例 提出一覧

10 多次元リスト

問題名 出典 備考
幹線道路 JOI 2017/2018 予選 問題 C 解答例 提出一覧
Blocks on Grid AtCoder Beginner Contest 186 問題 B 解答例 提出一覧
休憩スペース JOI 2014/2015 予選 問題 C 解答例 提出一覧
ロシアの旗 JOI 2015/2016 予選 問題 C 解答例 提出一覧
ポスター JOI 2019/2020 二次予選 問題 A 解答例 提出一覧
看板 JOI 2012/2013 予選 問題 C 解答例 提出一覧

11 組み込み関数:よく使う表現をスッキリ書く

対応する問題無し

12 ソート関数で並び替え

問題名 出典 備考
最高のピザ JOI 2011/2012 予選 問題 C 解答例 提出一覧
コンテスト JOI 2008/2009 予選 問題 B 解答例 提出一覧
Card Game for Two AtCoder Beginner Contest 088 問題 B 解答例 提出一覧
Two Anagrams AtCoder Beginner Contest 082 問題 B 解答例 提出一覧
サッカー JOI 2011/2012 予選 問題 B 解答例 提出一覧
Candy Distribution Again AtCoder Grand Contest 027 問題 A ヒント 解答例 提出一覧

13 関数の定義:関数を自作してみよう

対応する問題無し

14 再帰関数

問題名 出典 備考
Many Requirements AtCoder Beginner Contest 165 問題 C 解答例 提出一覧
755 AtCoder Beginner Contest 114 問題 C ヒント 解答例 提出一覧
Lunlun Number AtCoder Beginner Contest 161 問題 D ヒント 解答例 提出一覧
Synthetic Kadomatsu AtCoder Beginner Contest 119 問題 C ヒント 解答例 提出一覧

15 抽象データ型:データと操作をまとめる

対応する問題無し

16 ビット演算:「有る」と「無い」の世界

問題名 出典 備考
たくさんの数式 AtCoder Beginner Contest 045 問題 C ヒント 解答例 提出一覧
Switches AtCoder Beginner Contest 128 問題 C ヒント 解答例 提出一覧
Skill Up AtCoder Beginner Contest 167 問題 C ヒント 解答例 提出一覧

17 (補足) その他の Python の機能など

対応する問題無し

18 アルゴリズムとは

対応する問題無し

19 ソート:目標は同じでも方法はそれぞれ

20 全探索:候補はこれだけで十分

問題名 出典 備考
Sum of Three Integers AtCoder Beginner Contest 051 問題 B TLE解法 解答例 提出一覧
Half and Half AtCoder Beginner Contest 095 問題 C TLE解法1 TLE解法2 解答例 提出一覧
Otoshidama AtCoder Beginner Contest 085 問題 C 解答例 提出一覧
March AtCoder Beginner Contest 089 問題 C ヒント 解答例 提出一覧
Pyramid AtCoder Beginner Contest 112 問題 C ヒント 解答例 提出一覧

21 累積和:前計算を活用して和を一瞬で求める

問題名 出典 備考
GeT AC AtCoder Beginner Contest 122 問題 C 解答例 提出一覧
Exception Handling AtCoder Beginner Contest 134 問題 C 解答例 提出一覧
Attention AtCoder Beginner Contest 098 問題 C 解答例 提出一覧
惑星探査 JOI 2010/2011 本選 問題 A 本選問題は C/C++ に合わせて調整されているため
PyPy3 では 10 点 (TLE または MLE) で十分である
ヒント 解答例 提出一覧
AtColor AtCoder Beginner Contest 014 問題 C ヒント 解答例 提出一覧

22 二分探索Ⅰ:ソート済みリストから要素を探す

問題名 出典 備考
二分探索の練習問題 典型アルゴリズム問題集 問題 A この問題は解いても塗りつぶされない
解答例1 解答例2(bisect) 解答例3(一般化) 提出一覧
Snuke Festival AtCoder Beginner Contest 077 問題 C 解答例 提出一覧
Triangles AtCoder Beginner Contest 143 問題 D 解答例 提出一覧
ピザ JOI 2008/2009 本選 問題 B この問題は PyPy3 で提出すると MLE となるが
Python3 で提出すれば AC できる
解答例 提出一覧

23 二分探索Ⅱ:判定問題に変換して答えを二分探索

問題名 出典 備考
花束 AtCoder Regular Contest 050 問題 B 解答例 提出一覧
射撃王 AtCoder Beginner Contest 023 問題 D 解答例 提出一覧
Buy an Integer AtCoder Beginner Contest 146 問題 C ヒント 解答例 提出一覧
Widespread AtCoder Beginner Contest 063 問題 D ヒント 解答例 提出一覧

24 貪欲法:最高の今を生きる,最高の未来のために

問題名 出典 備考
区間スケジューリング問題 典型アルゴリズム問題集 問題 B この問題は解いても塗りつぶされない
解答例 提出一覧
おいしいたこ焼きの売り方 AtCoder Beginner Contest 005 問題 C 解答例 提出一覧
Choose Me AtCoder Beginner Contest 187 問題 D 解答例 提出一覧
Megalomania AtCoder Beginner Contest 131 問題 D 解答例 提出一覧
積み重ね AtCoder Regular Contest 006 問題 C ヒント 解答例 提出一覧
Dubious Document 2 AtCoder Beginner Contest 076 問題 C ヒント 解答例 提出一覧

25 動的計画法Ⅰ:前の方からコツコツと

問題名 出典 備考
Frog 1 Educational DP Contest 問題 A 解答例 提出一覧
Vacation Educational DP Contest 問題 C 解答例 提出一覧
Typical Stairs AtCoder Beginner Contest 129 問題 C ヒント 解答例 提出一覧
Frog 2 Educational DP Contest 問題 B 解答例 提出一覧

26 動的計画法Ⅱ:時系列 + α の状態を持つ

  • 【1 年生】【暑い日々】は例題と同程度の難度の問題である.
  • 【パスタ】【部活のスケジュール表】は例題と比べると難しいが,確実に解けるようにしておきたい範囲内である.
  • 【高橋君ゲーム】は非常に難しいので,今は解けなくても構わない.
問題名 出典 備考
Knapsack 1 Educational DP Contest 問題 D 解答例 提出一覧
Knapsack 2 Educational DP Contest 問題 E 解答例 提出一覧
1 年生 JOI 2010/2011 予選 問題 D ヒント 解答例 提出一覧
暑い日々 JOI 2012/2013 予選 問題 D ヒント 解答例 提出一覧
パスタ JOI 2011/2012 予選 問題 D ヒント 解答例 提出一覧
部活のスケジュール表 JOI 2013/2014 予選 問題 D ヒント 解答例 提出一覧
高橋君ゲーム AtCoder Regular Contest 057 問題 B ヒント 解答例 提出一覧

27 動的計画法Ⅲ:様々なパターンにチャレンジ

問題名 出典 備考
Grid 1 Educational DP Contest 問題 H 解答例 提出一覧
巡回セールスマン問題 典型アルゴリズム問題集 問題 C この問題は解いても塗りつぶされない
解答例 提出一覧
LCS Educational DP Contest 問題 F ヒント 解答例 提出一覧
通勤経路 JOI 2009/2010 予選 問題 E ヒント 解答例 提出一覧
Matching Educational DP Contest 問題 O ヒント 解答例1 解答例2 提出一覧

28 グラフとは

対応する問題無し

29 深さ優先探索:再帰関数で猪突猛進

問題名 出典 備考
Takahashi Tour AtCoder Beginner Contest 213 問題 D 解答例 提出一覧
Bridge AtCoder Beginner Contest 075 問題 C 解答例 提出一覧
Brute-force Attack AtCoder Beginner Contest 029 問題 C 解答例 提出一覧
薄氷渡り JOI 2008/2009 予選 問題 D ヒント 解答例 提出一覧
1 or 2 AtCoder Beginner Contest 126 問題 E この問題は PyPy3 で提出すると TLE となるが
Python3 で提出すれば AC できる
ヒント 解答例 提出一覧

30 幅優先探索:キューでじわじわ

問題名 出典 備考
カーペット JOI 2021/2022 二次予選 問題 B 解答例 1 解答例 2 提出一覧
.. (Double Dots) AtCoder Beginner Contest 168 問題 D 解答例 提出一覧
Darker and Darker AtCoder Grand Contest 033 問題 A ヒント 解答例 提出一覧

31 ダイクストラ法:最短距離はこれで一発

問題名 出典 備考
単一始点最短経路問題 典型アルゴリズム問題集 問題 D この問題は解いても塗りつぶされない
解答例 提出一覧
ゾンビ島 JOI 2015/2016 予選 問題 E ヒント 解答例 提出一覧
ヘビの JOI 君 JOI 2016/2017 予選 問題 F ヒント 解答例 提出一覧

32 Union-Find:初めてのクラス作成

問題名 出典 備考
Disjoint Set Union AtCoder Library Practice Contest 問題 A 解答例 提出一覧
KAIBUNsyo AtCoder Beginner Contest 206 問題 D 解答例 提出一覧

33 二次予選攻略! 重要問題リスト

問題名 出典 備考
フェーン現象 JOI 2016/2017 本選 問題 A 解答例 提出一覧
飴 2 JOI 2021/2022 二次予選 問題 D 解答例 提出一覧
美術展 JOI 2017/2018 本選 問題 B 本選問題は C/C++ に合わせて調整されているため
PyPy3 では 60 点 (TLE) で十分である
解答例 提出一覧
ペンキの色 JOI 2007/2008 本選 問題 E 本選問題は C/C++ に合わせて調整されているため
PyPy3 では 6 点 (TLE または MLE) で十分である
解答例 提出一覧