atcoder#ABC239G. [ABC239G] Builder Takahashi

[ABC239G] Builder Takahashi

题目描述

N N 頂点 M M 辺の単純連結無向グラフがあります。
頂点には頂点 1 1 , 頂点 2 2 , \dots , 頂点 N N と番号が振られています。
辺には 辺 1 1 , 辺 2 2 , \dots , 辺 M M と番号が振られています。辺 i i は頂点 ai a_i と頂点 bi b_i を双方向に結んでいます。また、頂点 1 1 と頂点 N N を直接結ぶ辺は存在しません。
各頂点の状態は「何もない頂点」か「壁がある頂点」のいずれかです。はじめ、全ての頂点は何もない頂点です。

青木君は頂点 1 1 を出発して、グラフ上を辺に沿って移動して頂点 N N へ行こうとしています。ただし、壁がある頂点への移動を行うことはできません。

高橋君は、青木君が移動を開始する前にいくつかの頂点を選んで壁を建てることで、青木君がどのように移動しても頂点 N N へ行くことができないようにすることにしました。
高橋君が頂点 i i に壁を建てるには ci c_i 円を払う必要があります。また、頂点 1 1 および頂点 N N には壁を建てられません。

高橋君が条件を満たすように壁を建てるときに最小で何円払う必要があるでしょうか。また、その時の壁の立て方を 1 1 つ出力してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M a1 a_1 b1 b_1 a2 a_2 b2 b_2 \vdots aM a_M bM b_M c1 c_1 c2 c_2 \dots cN c_N

输出格式

以下の形式に従って出力せよ。ここで、C,k,pi C,k,p_i は次に定める通りとする。

  • C C は高橋君が支払う金額
  • k k は高橋君が壁を建てる頂点の個数
  • (p1,p2,,pk) (p_1,p_2,\dots,p_k) は高橋君が壁を建てる頂点からなる列

C C k k p1 p_1 p2 p_2 \dots pk p_k

最小の金額で条件を満たす建て方が複数存在する場合はどれを出力してもよい。

题目大意

题目描述

给定一张 nn 个点 mm 条边的连通无向图,要求在某些点(不能为 11 号点或者 nn 号点)设立障碍,在 ii 号点建立障碍的费用为 cic_i,要使得 11 号点和 nn 号点不连通,求最小花费的方案。

输入格式

第一行两个整数 $n,m(3\leq n\leq 100,n−1\leq m\leq \frac{n(n−1)}{2}−1)$。

接下来 mm 行,每行两个数 ai,bi(1ai<bin)a_i,b_i(1\leq ai < bi\leq n),保证没有重边自环,并且 11nn 不直接相连。

接下来一行 nn 个整数 c1,c2,,cn(0ci109)c_1,c_2,…,c_n(0\le ci\le 10^9),保证 c1=cn=0c_1=c_n=0

输出格式

第一行输出一个数,表示最小的花费。

接下来输出一个数 kk,表示建立障碍的个数。接下来一行 kk 个数,表示建立障碍的 kk 个点。

5 5
1 2
2 3
3 5
2 4
4 5
0 8 3 4 0
7
2
3 4
3 2
1 2
2 3
0 1 0
1
1
2
5 9
1 2
1 3
1 4
2 3
2 4
2 5
3 4
3 5
4 5
0 1000000000 1000000000 1000000000 0
3000000000
3
2 3 4

提示

制約

  • 3  N  100 3\ \leq\ N\ \leq\ 100
  • N  1  M  N(N1)2  1 N\ -\ 1\ \leq\ M\ \leq\ \frac{N(N-1)}{2}\ -\ 1
  • 1  ai < bi  N 1\ \leq\ a_i\ \lt\ b_i\ \leq\ N (1  i  M) (1\ \leq\ i\ \leq\ M)
  • (ai, bi)  (1, N) (a_i,\ b_i)\ \neq\ (1,\ N)
  • 与えられるグラフは単純かつ連結である。
  • 1  ci  109 1\ \leq\ c_{i}\ \leq\ 10^9 (2  i  N1) (2\ \leq\ i\ \leq\ N-1)
  • c1 = cN = 0 c_1\ =\ c_N\ =\ 0
  • 入力はすべて整数である。

Sample Explanation 1

高橋君が 3 + 4 = 7 3\ +\ 4\ =\ 7 円を払って頂点 3 3 , 頂点 4 4 に壁を建てると青木君は頂点 1 1 から頂点 5 5 へ行くことができなくなります。 これより少ない金額で条件を満たすことはできないので 7 7 円が答えとなります。