平成30年度秋季 基本情報技術者試験(FE)の午後問題9は列車の運行をシミュレーションするプログラムでした。
h30a_fe_pm9.c
実行結果
「図1 鉄道模型の路線構成及び列車位置」から4回処理を進める様子を眺められるようにしてみました。
$ gcc h30a_fe_pm9.c && ./a.out ----- 初期状態 ----- 区間0 : 赤 : 列車4 区間1 : 赤 : 列車3 区間2 : 緑 : - 区間3 : 赤 : 列車2 区間4 : 赤 : 列車1 区間5 : 緑 : - 区間6 : 緑 : - 区間7 : 緑 : - 区間8 : 赤 : 列車0 ----- 進行1回目 ----- 区間0 : 赤 : 列車4 区間1 : 緑 : - 区間2 : 赤 : 列車3 区間3 : 赤 : 列車2 区間4 : 緑 : - 区間5 : 赤 : 列車1 区間6 : 緑 : - 区間7 : 緑 : - 区間8 : 緑 : - ----- 進行2回目 ----- 区間0 : 赤 : 列車4 区間1 : 緑 : - 区間2 : 赤 : 列車3 区間3 : 緑 : - 区間4 : 赤 : 列車2 区間5 : 緑 : - 区間6 : 緑 : - 区間7 : 緑 : - 区間8 : 緑 : - ----- 進行3回目 ----- 区間0 : 赤 : 列車4 区間1 : 緑 : - 区間2 : 緑 : - 区間3 : 赤 : 列車3 区間4 : 緑 : - 区間5 : 緑 : - 区間6 : 赤 : 列車2 区間7 : 緑 : - 区間8 : 緑 : - ----- 進行4回目 ----- 区間0 : 緑 : - 区間1 : 緑 : - 区間2 : 赤 : 列車4 区間3 : 緑 : - 区間4 : 赤 : 列車3 区間5 : 緑 : - 区間6 : 緑 : - 区間7 : 緑 : - 区間8 : 緑 : -
感想
電車好きな方が作問されたんでしょうね。電車と言えば、以前読んだ『プログラミングの基礎 - Mae向きなブログ』に電車関連の題材を扱った問題があったと思います。いつか自分でも作ってみたいと思いながら、まだ取り組めずにいます。いつかと言っているうちは取り組めないんでしょうけど、いつか取り組んでみたいですね。