競技問題に対する補足説明 (NUPSC 2018)

NUPSC 2018 の競技問題に対し、以下の補足説明を行ないます。

補足1 (タスク1a関係)

問題文中では、 m は平面上の地図を表わすとありましたが、 その地図の座標は [0 0] から始まり、[(- (m :width) 1) (- (m :height)) 1] まで終ります。 又座標は全て整数とします。

補足2 (タスク1b関係)

完成されていた道路交通網は必ず全ての都市を繋がっていなければならない。 又、完成されたプログラムの優劣の評価は、プロジェクト1の紹介文からでも分かるように、 道路交通網全長が短いほうが優れています。

補足3 (タスク1a、1b関係)

文中に「ビットマップ」という言葉を使っていましたが、 それは単純に


{[0 0] :a, [0 1] :b,
 [1 0] :c, [1 1] :d}
のようなマップを意味しています。

訂正4 (タスク1b関係)

問題文の 「又出力のグラフの辺のウェイトはその道路の長さでなければならない。」 という部分を 「又出力のグラフの辺のラベルはその道路の長さでなければならない。」 として訂正します。

補足5 (タスク1c関係)

関数 city-navigation に渡された引数 g は連結グラフ、つまり全ての頂点から他の任意の頂点までたどりつくことができるようなグラフです。

補足6 (タスク2c、2s関係)

問題文中に「マンハッタン距離」の説明が抜けていました。 平面上二点 \( (x_1, y_1) \) 、 \( (x_2, y_2) \)の間のマンハッタン距離とは両点のx座標の差とy座標の差の和、 つまり \( | x_1 - x_2 | + | y_1 - y_2 | \) となります。

補足7 (タスク1a関係)

m の一例として以下が挙げられます。


{[0 0] :a,    [0 1] :void,
 [1 0] :void, [1 1] :c
 :width 2, :height 2}

補足8 (タスク2c関係)

タスク2cにおけるコマンド :move-city はタスク2bにおけるものと同じであり、 つまり [:move-city 猫の名前 移動先] における 移動先移動先の都市名 を意味するものです。

補足9 (タスク2s関係)

問題文から一義的に読みとることができますが、 合計移動距離は cmds のみによって計上される移動距離を指します。

補足10 (タスク2s関係)

回答テンプレートは以下のものであったほうがより適切です。


            (defn track-moving [cities cmds cat]
              {:pos [0 0] :moved 0})