DOSEIの日記

技術メモ+日常ログ

ソフトウェア開発技術者試験(SW)に行ってまいりました。
大健闘しました。が、SQLの問題が全然できず…というか時間長すぎ…
その後O澤氏とお茶。

午後2の試験の問題はマップ上の最短経路を探す問題。こんなこと中学生のときやったことがあるなぁ。ファイアーエムブレム外伝にはまっていたぼかぁ、スーファミ版のファイアーエムブレムが移動範囲を表示しているのを見て、感動したと同時に、度のくらいの計算量なのかと考えた。ファミコン程度でもできる計算だろうかと。で、MSXで試作。作ったのは、ランダムにマップを生成して(マスごとに重みをつける)、中央から、指定した移動力で移動できる範囲の計算。再帰にして無駄な処理をカットして、っていろいろ高速化をがんばったんだけれどもMSX BASICは遅かった…。
試験に出た問題のやりかたはスタックやキューを使って集合処理してた。あのころはスタックやキューの概念は知ってたけど(Z80マシン語書いたり、FORTHに心をときめかせていたから(謎))、使おうとは考えなかったなぁ。というかBASICには実装するの面倒だし。というか、なんで数学のアルゴリズムは集合多用するんだろうか。