#abc239g. G - Builder Takahashi
G - Builder Takahashi
Score : points
问题描述
我们有一个简单的连通无向图,包含 个顶点和 条边。
顶点按照 Vertex , Vertex , , Vertex 编号。
边按照 Edge , Edge , , Edge 编号。其中边 双向连接顶点 和顶点 。不存在直接连接顶点 和顶点 的边。
每个顶点要么为空,要么被墙占据。最初,所有顶点都是空的。
Aoki 将沿图中的边从 Vertex 出发前往 Vertex 。但是,他不允许移动到被墙占据的顶点上。
Takahashi 决定选择一些顶点建造墙壁,以确保无论 Aoki 选择哪条路径都无法到达 Vertex 。
在顶点 上建造一面墙需要 Takahashi 支付 日元(日本货币)。他不能在顶点 和顶点 上建造墙壁。
请问为了满足条件,Takahashi 需要花费多少日元来建造墙壁?同时,请输出实现最小成本的建墙方式。
以上为通义千问 qwen-max 翻译,仅供参考。
Problem Statement
We have a simple connected undirected graph with vertices and edges.
The vertices are numbered as Vertex , Vertex , , Vertex .
The edges are numbered as Edge , Edge , , Edge . Edge connects Vertex and Vertex bidirectionally. There is no edge that directly connects Vertex and Vertex .
Each vertex is either empty or occupied by a wall. Initially, every vertex is empty.
Aoki is going to travel from Vertex to Vertex along the edges on the graph. However, Aoki is not allowed to move to a vertex occupied by a wall.
Takahashi has decided to choose some of the vertices to build walls on, so that Aoki cannot travel to Vertex no matter which route he takes.
Building a wall on Vertex costs Takahashi yen (the currency of Japan). He cannot build a wall on Vertex and Vertex .
How many yens is required for Takahashi to build walls so that the conditions is satisfied? Also, print the way of building walls to achieve the minimum cost.
Constraints
- The given graph is simple and connected.
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
Output
Print in the following format. Here, , and are defined as follows.
-
is the cost that Takahashi will pay
-
is the number of vertices for Takahashi to build walls on
-
is a sequence of vertices on which Takahashi will build walls
If there are multiple ways to build walls to satisfy the conditions with the minimum cost, print any of them.
Sample Input 1
5 5
1 2
2 3
3 5
2 4
4 5
0 8 3 4 0
Sample Output 1
7
2
3 4
If Takahashi builds walls on Vertex and Vertex , paying yen, Aoki is unable to travel from Vertex to Vertex .
There is no way to satisfy the condition with less cost, so yen is the answer.
Sample Input 2
3 2
1 2
2 3
0 1 0
Sample Output 2
1
1
2
Sample Input 3
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
Sample Output 3
3000000000
3
2 3 4
update @ 2024/3/10 10:19:55