洛谷题解-[ABC286E] Souvenir (Floyd)
https://www.luogu.com.cn/problem/AT_abc286_e
题目描述
N N N 個の都市があり、いくつかの相異なる都市の間は一方通行の直行便によって移動することができます。
どの直行便が存在するかは N N N 個の長さ N N N の文字列 S1,S2,…,SN S_1,S_2,\ldots,S_N S1,S2,…,SN によって表され、 Si S_i Si の j j j 文字目が Y
のとき都市 i i i から都市 j j j へ向かう直行便が存在することを、 N
のとき存在しないことを示します。
また、各都市ではお土産が 1 1 1 つずつ売られており、都市 i i i では価値 Ai A_i Ai のお土産が売られています。
次のような問題を考えます。
高橋君は今都市 S S S におり、いくつかの直行便を乗り継いで(S S S とは異なる)都市 T T T に向かおうとしています。
さらに、高橋君は移動する途中で訪れた都市(S,T S,T S,T を含む)において 1 1 1 つずつお土産を購入します。
都市 S S S から都市 T T T へ向かう経路が複数存在する時、高橋君は次のような経路で移動することを考えています。
- 都市 S S S から 都市 T T T に向かう経路のうち、使う直行便の数が最小である。
- さらにそのような経路のうち、購入するお土産の価値の総和が最大である。
高橋君が都市 S S S から T T T に直行便を乗り継いで移動することが可能か判定し、 可能な時は高橋君が上の条件をみたすように経路を選んだ時の「使用する直行便の本数」と「お土産の価値の総和」を求めよ。
相異なる都市の組 (Ui,Vi) (U_i,V_i) (Ui,Vi) が Q Q Q 個与えられます。
各 1≤ i≤ Q 1\leq\ i\leq\ Q 1≤ i≤ Q について、S=Ui, T=Vi S=U_i,\ T=V_i S=Ui, T=Vi とした時の上記の問題の答えを出力してください。
输入格式
入力は以下の形式で標準入力から与えられる。
N N N A1 A_1 A1 A2 A_2 A2 … \ldots … AN A_N AN S1 S_1 S1 S2 S_2 S2 ⋮ \vdots ⋮ SN S_N SN Q Q Q U1 U_1 U1 V1 V_1 V1 U2 U_2 U2 V2 V_2 V2 ⋮ \vdots ⋮ UQ U_Q UQ VQ V_Q V