解法
まずは、陸路と海路それぞれについて、ワーシャルフロイド法を用いて、任意の町間の最短距離を計算しておきます。町から町
の最短経路について、陸路を
、海路を
とします。
そして、DPを行います。
回目の集配を終えた時点で、船が町
にあるような経路の中で、時間が最短のもの
とします。そして、回目の集配を陸路のみで行うか、海路も含めて行うかの2パターンに分けて計算します。
初期値は、となります。
陸路のみを利用する場合
回目の集配を終えても、その前後で船の位置は移動しません。ので、
となります。海路も利用する場合
町から町
まで海路を利用したとします。すると、
が今回かかる時間なので、
となります。
あとは、このDPを行い、の最小値を求めれば答えとなります。