Mae向きなブログ

Mae向きな情報発信を続けていきたいと思います。

Python

令和6年度 大学入学共通テスト 情報関係基礎 第3問

令和6年度大学入学共通テスト 情報関係基礎の第3問は魔方陣に関する問題でした。 center_exam_info2024_3.py 問2,問3の内容を実際にPythonで作ってみました。 実行 % python center_exam_info2024_3.py 5 11 18 25 2 9 10 12 19 21 3 4 6 13 20 22 23 5 7 14…

ウインターカップ優勝回数

現在、「SoftBank ウインターカップ2023 令和5年度 第76回全国高等学校バスケットボール選手権大会」開催中ですが、高校別の優勝回数を調べてみました。ただし、校名変更があった学校についても別々に表示しています。(明成と仙台大明成など) 男子 高校名 優…

第100回東京箱根間往復大学駅伝競走(#箱根駅伝)各大学タイム上位10人の平均タイム

各大学でエントリーされている選手のうち各大学タイム上位10人の平均で集計を行ってみました。 データは、公式ホームページ「第100回東京箱根間往復大学駅伝競走」のチームエントリー(PDF)を使わせてもらいました。 関連 第100回東京箱根間往復大学駅伝競走(…

第100回東京箱根間往復大学駅伝競走(#箱根駅伝)各大学ハーフマラソン タイム上位10人の平均タイム

各大学でエントリーされている選手のうちハーフマラソンのタイム上位10人の平均で集計を行ってみました。 データは、公式ホームページ「第100回東京箱根間往復大学駅伝競走」のチームエントリー(PDF)を使わせてもらいました。 各大学ハーフマラソン タイム上…

第100回東京箱根間往復大学駅伝競走(#箱根駅伝)各大学10,000mタイム上位10人の平均タイム

各大学でエントリーされている選手のうち10,000mのタイム上位10人の平均で集計を行ってみました。 データは、公式ホームページ「第100回東京箱根間往復大学駅伝競走」のチームエントリー(PDF)を使わせてもらいました。 各大学10,000mタイム上位10人の平均タ…

第100回東京箱根間往復大学駅伝競走(#箱根駅伝)各大学5000mタイム上位10人の平均タイム

各大学でエントリーされている選手のうち5000mのタイム上位10人の平均で集計を行ってみました。 データは、公式ホームページ「第100回東京箱根間往復大学駅伝競走」のチームエントリー(PDF)を使わせてもらいました。 各大学5000mタイム上位10人の平均タイム …

第100回東京箱根間往復大学駅伝競走(#箱根駅伝)出場選手のハーフマラソン タイムベスト50

第100回東京箱根間往復大学駅伝競走(箱根駅伝)出場選手のハーフマラソン タイムベスト50を調べてみました。 データは、公式ホームページ「第100回東京箱根間往復大学駅伝競走」のチームエントリー(PDF)を使わせてもらいました。 ハーフマラソンのタイム順(50…

第100回東京箱根間往復大学駅伝競走(#箱根駅伝)出場選手の10,000mタイムベスト50

第100回東京箱根間往復大学駅伝競走(箱根駅伝)出場選手の10,000mタイムベスト50を調べてみました。 データは、公式ホームページ「第100回東京箱根間往復大学駅伝競走」のチームエントリー(PDF)を使わせてもらいました。 10,000mのタイム順(50位まで) 順位 氏…

第100回東京箱根間往復大学駅伝競走(#箱根駅伝)出場選手の5000mタイムベスト50

第100回東京箱根間往復大学駅伝競走(箱根駅伝)出場選手の5000mタイムベスト50を調べてみました。 データは、公式ホームページ「第100回東京箱根間往復大学駅伝競走」のチームエントリー(PDF)を使わせてもらいました。 5,000mのタイム順(50位まで) 順位 氏名(…

令和5年度秋期 応用情報午後問3(3)

「令和5年度秋期 応用情報午後問3 - Mae向きなブログ」、「令和5年度秋期 応用情報午後問3(2) - Mae向きなブログ」の続きです。 graphvizを使うと、2分探索木を見える化できるので、もう少し多くの要素を持つ2分探索木を描いてみました。 プログラム例(r05a_…

令和5年度秋期 応用情報午後問3(2)

昨日、作成した2分探索木のプログラムを使って、 最悪の場合の2分探索木と 平衡2分探索木 が作られていく様子を見ていきたいと思います。 プログラム例(r05a_ap_pm3.py) 最悪の場合 107行目以降を以下のように変更します。 関数insertを使って、1から順番に7…

令和5年度秋期 応用情報午後問3

令和5年度秋期 応用情報技術者試験(AP)の午後問題3は、 2分探索木(AVL木) に関する問題でした。2分探索木については、何度か出題されてますが、木の回転が出題されたのは初めてかもしれませんね。 学生時代に作った記憶がありますが、復習のつもりで取り組ん…

合併-発見(Union Find)アルゴリズム(その3)

「Boot camp for Beginners」を完走したので、次は、「競プロ典型 90 問 - AtCoder」に取り組んでみたいと思います。 「012 - Red Painting(★4)」を幅優先探索で解いてみたのですが、TLEx9という結果となりました。解説を読んでみると、Union-Findアルゴリ…

Boot camp for Beginners完走しました

ついにというか、ようやくというか「Boot camp for Beginners」の300問解き終わりました。 高校の教科書にPythonが掲載されたことを機にPythonを少しでも習得しようとはじめたのですが、Beginnersとはいえ最後までやり切ると気持ちがいいですね。お陰様でPyt…

合併-発見(Union Find)アルゴリズム(その2)

以前、『アルゴリズムC〈第3巻〉グラフ・数理・トピックス』のp34で紹介されている「合併-発見アルゴリズム」をPythonで作ってみたのですが、 合併-発見(Union Find)アルゴリズム - Mae向きなブログ 「D - Friend Suggestions」を解くときに、同じグループに…

順列を求める(2)

以前、「順列を求める - Mae向きなブログ」で自前で順列を求める関数を作ってみたのですが、「[C#] 順列を求める next_permutation() 代わりを実装する方法 │ Web備忘録」に順列を列挙する面白いアルゴリズムが紹介されていましたので、Pythonで作ってみまし…

【2023年】イオンモール 総賃貸面積(大きさ・広さ)でランキング

イオンモール 総賃貸面積(大きさ・広さ)でランキング No. 店舗名 総賃貸面積(㎡) 1 イオンモール幕張新都心 128,000 2 mozo wondercity(モゾ ワンダーシティ) 101,000 3 イオンレイクタウンmori 99,000 4 イオンモール広島府中 98,000 5 イオンモール岡山 …

令和5年度春期 応用情報午後問3

令和5年度春期 応用情報技術者試験(AP)の午後問題3は、 多倍長整数の演算(カラツバ法) に関する問題でした。 多倍長整数の加減算については、学生時代の課題で取り組んだ記憶があるのですが、乗算についてはこんな手法があるんですね。 問題を解くだけでも勉…

Pythonを使って複数のWord文書をPDFに変換し結合する

30個ほどのWordファイルをそれぞれPDFに変換し、ひとつのPDFファイルとして結合する必要が出てきたので、Pythonを使って自動化してみました。 事前準備として、Word文書のファイル名を00_foo.docx, 01_foo.docx, … としておきます。 word2pdf.py まず、複数…

パズルで鍛えるアルゴリズム力

C++を使って紹介されているパズルを、「アルゴリズム力」と「Python力」を鍛えるために、Pythonで書き換えながら読んでみました。 プログラム学習にパズルを題材にするというのは、いいですね。面白くて楽しい経験を通して、結果としてアルゴリズム力が養わ…

ドミノタイリング

『パズルで鍛えるアルゴリズム力』の第3章で紹介されている「ドミノタイリング」をPythonで書いてみました。 3_4_domino_solver.py BipartiteMatchingモジュールは、「二部マッチング問題を解くためのクラス - Mae向きなブログ」で作成したものを使用。 実行…

二部マッチング問題を解くためのクラス

『パズルで鍛えるアルゴリズム力』の第3章で紹介されている「二部マッチング問題を解くためのクラス」をPythonで書いてみました。 bipartite_matching.py 実行 『パズルで鍛えるアルゴリズム力』のp273 図3-62 を解いてみました。 % python bipartite_matchi…

編集距離

『パズルで鍛えるアルゴリズム力』の第3章で紹介されている「編集距離」をPythonで取り組んでみました。 3_3_edit_distance_solver.py 実行 % python 3_3_edit_distance_solver.py First String: ROOF Second String: SOFT ↘︎ ↘︎ ↓ ↘︎ → 3 文字列ROOFとSOFT…

4x4オセロ

『パズルで鍛えるアルゴリズム力』の第3章で紹介されている「4x4オセロ」をPythonで取り組んでみました。 学べるアルゴリズム ネガマックス探索 α-β探索 3_2_othello_solver.py 実行 % python 3_2_othello_solver.py -10 パズルで鍛えるアルゴリズム力作者:…

15パズル

『パズルで鍛えるアルゴリズム力』の第3章で紹介されている「15パズル」をPythonで取り組んでみました。 「反復深化A*」アルゴリズム、面白いですね。 3_1_15puzlle_solver.py 実行 % python 3_1_15puzlle_solver.py 15puzzle input: 1 2 3 4 5 6 0 8 9 10 7…

油分け算

『パズルで鍛えるアルゴリズム力』の第2章で紹介されている「油分け算」をPythonで取り組んでみました。 2_3_oil_solver.py 実行 10L, 7L, 3Lの壺を使って、10Lの壺に入った油10Lを10Lの壺に5L, 7Lの壺に5L, 3Lの壺に0Lの状態にするには、どのような手順で行…

迷路

『パズルで鍛えるアルゴリズム力』の第2章で紹介されている「迷路」をPythonで取り組んでみました。 2_3_meiro_solver.py 実行 % python 2_3_meiro_solver.py 8 8 .#....#G .#.#.... ...#.##. #.##...# ...###.# .#.....# ...#.#.. S....... ----- solution …

覆面算

『パズルで鍛えるアルゴリズム力』の第2章で紹介されている「覆面算」をPythonで取り組んでみました。 2_2_fukumen_solver.py 実行 % python 2_2_fukumen_solver.py 3 SEND MORE MONEY The num of solutions: 1 9 5 6 7 1 0 8 5 1 0 6 5 2 % python 2_2_fuku…

虫食算

『パズルで鍛えるアルゴリズム力』の第1章で紹介されている「虫食算」をPythonで取り組んでみました。 1_3_mushikui_solver.py 実行 % python 1_3_mushikui_solver.py Mushikuizan Input: 2 2 *1 2* **3 *4* **** The num of solutions: 1 1 th solution: 71…

小町算

『パズルで鍛えるアルゴリズム力』の第1章で紹介されている「小町算」をPythonで取り組んでみました。 1_2_komachi_solver.py 実行 TARGETを2023とすると、1通りしかないんですね。 % python 1_2_komachi_solver.py The number of solutions: 1 1 + 2 * 3 + …