#YACS202205C5. 最大割
最大割
题目描述
给定一张有 个点、 条边的无向图,如果有一种划分,能将图上的所有点不重复不遗漏地分成两部分(记为 与 ),且这两部分都不是空集,则称 是图的一个割(Cut)。
对于一个割来说 ,图上有多少边跨越这个割,这个割的大小就是多少。所谓跨越,就是指某条边的一端在 ,另一端在 。
对于给定的图,请找到一个最大的割,并输出这个割的大小。
输入格式
第一行:两个整数表示 与 ; 第二行到第 行:每行两个整数 与 表示一条边的两个端点,保证 ,注意同一对点之间可能有多条边,这些边应被看做是不同的边。
输出格式
单个整数:表示最大割的大小。
数据范围
- 对于 的数据,;
- 对于 的数据,;
- 。
样例数据
输入:
3 5
1 2
2 3
3 1
1 3
2 3
输出:
4
说明:
将图割成{1,2}与{3},1与3之间有两条边,2与3之间也有两条边。
输入:
4 2
1 2
3 4
输出:
2
说明:
将图割成{1,3}与{2,4}时割最大。注意与最小割的区别,这个例子中的最小割为0(因为{1,2}与{3,4}不连通)