题目名称 914. 奶牛的电信
输入输出 telecow.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 11
题目来源 Gravatarsywgz 于2012-07-12加入
开放分组 全部用户
提交状态
分类标签
USACO 网络流
分享题解
通过:8, 提交:28, 通过率:28.57%
Gravatar小金 100 0.000 s 0.00 MiB C++
Gravatar_Itachi 100 0.005 s 0.38 MiB C++
Gravatar瑆の時間~無盡輪迴·林蔭 100 0.008 s 1.07 MiB C++
GravatarWHZ0325 100 0.024 s 3.20 MiB C++
Gravatar... 100 0.043 s 7.74 MiB C++
Gravatar梦那边的美好ET 100 0.047 s 7.74 MiB C++
Gravatarmikumikumi 100 0.081 s 0.51 MiB C++
Gravatarcstdio 100 0.413 s 0.32 MiB C++
Gravatar小金 91 0.000 s 0.00 MiB C++
Gravatarmikumikumi 90 0.078 s 0.51 MiB C++
关于 奶牛的电信 的近10条评论(全部评论)
这个输出方案好暴力。。。
GravatarWHZ0325
2019-02-12 12:31 3楼
输出方案跪了一万次
Gravatarmikumikumi
2015-10-15 19:50 2楼
评测机真快……感人肺腑
神奇地跪了一下:源点的余流=边的容量=INF,然后就压没了……没了……
Gravatarcstdio
2013-12-01 20:35 1楼

914. 奶牛的电信

★★★   输入文件:telecow.in   输出文件:telecow.out   简单对比
时间限制:1 s   内存限制:128 MiB

题目描述

农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流。这些机器用如下的方式发送电邮:如果存在一个由c台电脑组成的序列 $a1,a2,...,a(c)$,且 $a1$ 与 $a2$ 相连,$a2$ 与 $a3$ 相连,等等,那么电脑 $a1$ 和 $a(c)$ 就可以互发电邮。

很不幸,有时候奶牛会不小心踩到电脑上,农夫约翰的车也可能碾过电脑,这台倒霉的电脑就会坏掉。这意味着这台电脑不能再发送电邮了,于是与这台电脑相关的连接也就不可用了。

有两头奶牛就想:如果我们两个不能互发电邮,至少需要坏掉多少台电脑呢?请编写一个程序为她们计算这个最小值和与之对应的坏掉的电脑集合。

以如下网络为例:

               1*
              /  
             3 - 2*

这张图画的是有 $2$ 条连接的 $3$ 台电脑。我们想要在电脑 $1$ 和 $2$ 之间传送信息。电脑 $1$ 与 $3$、$2$ 与 $3$ 直接连通。如果电脑 $3$ 坏了,电脑 $1$ 与 $2$ 便不能互发信息了。

输入格式

第一行:四个由空格分隔的整数 $N,M,c1,c2$。$N(1\le N\le 100)$ 是电脑总数,电脑由 $1$ 到 $N$ 编号。$M(1\le M\le 600)$ 是电脑之间连接的总数。最后的两个整数 $c1$ 和 $c2$ 是上述两头奶牛使用的电脑编号。连接没有重复且均为双向的(即如果 $c1$ 与 $c2$ 相连,那么 $c2$ 与 $c1$ 也相连)。两台电脑之间至多有一条连接。电脑 $c1$ 和 $c2$ 不会直接相连。
第 $2$ 到 $M+1$ 行:接下来的 $M$ 行中,每行包含两台直接相连的电脑的编号。

输出格式

输出共有两行。第一行是使电脑c1和c2不能互相通信需要坏掉的电脑数目的最小值。第二行是排好序的坏掉的电脑的编号列表。注意 $c1$ 和 $c2$ 都不能坏掉。如果有多种可能情况,输出第一个数最小的一种,如果第一个数相同,则输出第二个数最小的一种,依此类推。

样例输入

3 2 1 2
1 3
2 3

样例输出

1
3

题目来源

USACO/telecow(译 by Maigo Akisame)