1. 程式人生 > >POJ1523解題報告 求點割集

POJ1523解題報告 求點割集

SPF
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 2082 Accepted: 932

Description

Consider the two networks shown below. Assuming that data moves around these networks only between directly connected nodes on a peer-to-peer basis, a failure of a single node, 3, in the network on the left would prevent some of the still available nodes from communicating with each other. Nodes 1 and 2 could still communicate with each other as could nodes 4 and 5, but communication between any other pairs of nodes would no longer be possible.

Node 3 is therefore a Single Point of Failure (SPF) for this network. Strictly, an SPF will be defined as any node that, if unavailable, would prevent at least one pair of available nodes from being able to communicate on what was previously a fully connected network. Note that the network on the right has no such node; there is no SPF in the network. At least two machines must fail before there are any pairs of available nodes which cannot communicate.

Input

The input will contain the description of several networks. A network description will consist of pairs of integers, one pair per line, that identify connected nodes. Ordering of the pairs is irrelevant; 1 2 and 2 1 specify the same connection. All node numbers will range from 1 to 1000. A line containing a single zero ends the list of connected nodes. An empty network description flags the end of the input. Blank lines in the input file should be ignored.

Output

For each network in the input, you will output its number in the file, followed by a list of any SPF nodes that exist.

The first network in the file should be identified as "Network #1", the second as "Network #2", etc. For each SPF node, output a line, formatted as shown in the examples below, that identifies the node and the number of fully connected subnets that remain when that node fails. If the network has no SPF nodes, simply output the text "No SPF nodes" instead of a list of SPF nodes.

Sample Input

1 2
5 4
3 1
3 2
3 4
3 5
0

1 2
2 3
3 4
4 5
5 1
0

1 2
2 3
3 4
4 6
6 3
2 5
5 1
0

0

Sample Output

Network #1
  SPF node 3 leaves 2 subnets

Network #2
  No SPF nodes

Network #3
  SPF node 2 leaves 2 subnets
  SPF node 3 leaves 2 subnets
題目大意:給定一個連通的計算機網路(就是一無向圖)中的每條邊,求要想使網路中斷,可以中斷哪臺計算器的網路,輸出中斷的計算機編號
並輸出中斷那臺計算機後網路被分成了幾塊?
我的點割集第一題
思路:典型的求點割集問題,直接把剛才寫的求點割集演算法程式碼拿來改改就交了,一次AC,需要注意的是,在統計去掉割點後的連通分
支可以直接用count,如果是DFS根節點則為count,否則為count+1。。

相關推薦

POJ1523解題報告

SPF Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 2082 Accepted: 932 Description Consider the two networks shown below. A

無向圖的演算法

http://blog.csdn.net/xinghongduo/article/details/6202646 黑書上給出了關於求點割集的演算法,但是比較模糊,我查閱了網路上的相關資料,理解了求點割集的過程,寫出如下求點割集的程式碼,並寫了一些簡單的證明. 割點集的定

CCCC訓練練習題-礦工安全生產(

簡單說一下就是給定一個無向聯通圖。要求找到割點(割點:若將該點和關聯該點的邊去掉,圖的連通性發生改變),並把割點刪去。求聯通圖的數量及在每個聯通圖上的某一個點放置一個救生器材的方案數。 我們先要找割點。 找割點的方法其實和找割邊有異曲同工之妙。 從一點

無向圖演算法

黑書上給出了關於求點割集的演算法,但是比較模糊,我查閱了網路上的相關資料,理解了求點割集的過程,寫出如下求點割集的程式碼,並寫了一些簡單的證明. 割點集的定義:如果在連通圖G中去掉某一點後圖不連通,那麼這個點即為G的割點,所有割點的集合即為點割集。 求點割集的方法:利用

POJ 1815 - Friendship - [拆最大流最小][暴力枚舉升序] - [Dinic算法模板 - 鄰接矩陣型]

ica exc otherwise 枚舉 cstring hat blog things input 妖怪題目,做到現在:2017/8/19 - 1:41…… 不過想想還是值得的,至少鄰接矩陣型的Dinic算法模板get√ 題目鏈接:http://poj.org/probl

[JZOJ 5910] [NOIP2018模擬10.18] DuLiu 解題報告 (並查+思維)

題目連結: https://jzoj.net/senior/#contest/show/2530/0 題目:    LF是毒瘤出題人中AK IOI2019,不屑於參加NOI的唯一的人。他對人說話,總是滿口垃圾題目者也,教人半懂不懂的。因為他姓李,別人便從QQ群上的

[SDOI2005]矩形 解題報告 (並查

2018-10-18 08:38:17   原題連結: P2449 [SDOI2005]矩形 題目描述 現在我們在一個平面上畫了n個矩形。每一個矩形的兩邊都與座標軸相平行,且矩形定點的座標均為

BZOJ 1339 Baltic 2008 Mafia 最小

題目大意:一個城市中有些點,有一些雙向道路將這些點連線起來,每個點都有權值,求警察最少佔據的點的權值和使得從A點無法到達B點。 思路:最小點割集簽到題。 CODE:#include <queue> #include <cstdio> #inclu

BZOJ 3630 JLOI 2013 鏡面通道 最小

去年省選的題,當時還不會,於是就機智的採用了O(1)演算法(輸出0),得了10分。 現在想想當時還是太菜了啊…… 現在也很菜啊,邊連錯了好幾遍。。。 寫這個題還學會了 :: 的用法。。還是太菜了啊。。 廢話不多說,題意簡單。拆點進行最小割即可 注意連線的邊啊,要是考試的時

無向圖最小解法

from: http://www.cppblog.com/imky/archive/2010/08/14/123414.html 無向圖最小點割集,確定起點S,終點T。每個點都有自己的點權值vi,求最小點權和的割點集,使得S無法到達T。 解法:將每個點拆分為兩個點v和v',

poj 1815 Friendship(最小

Friendship Time Limit: 2000MS Memory Limit: 20000K Total Submissions: 8465 Accepted: 2370 Description In modern society, each person

團體程式設計天梯賽-練習 L3-002. 堆疊 線段樹 單更新 解題報告

大家都知道“堆疊”是一種“先進後出”的線性結構,基本操作有“入棧”(將新元素插入棧頂)和“出棧”(將棧頂元素的值返回並從堆疊中將其刪除)。現請你實現一種特殊的堆疊,它多了一種操作叫“查中值”,即返回堆疊中所有元素的中值。對於N個元素,若N是偶數,則中值定義為第N/2個最小元;若N是奇數,則中值定義為第(N

幫同學參加數學建模做的間最短距離,時間復雜度300*300

參加 sel shu print adl 距離 pri stl port 要求:求每一個會員點分別到任務點集的最短距離 表格如下: 我的做法是: 1先把會員經度緯度保存為 X.txt ,把任務經度緯度保存為Y.txt(直接從表格復制) 源代碼如下: import mat

cogs2745[濟南集訓 2017] gcd之和【解題報告

text tar problem ace == clas ++ aps 解題報告 題目鏈接 題目大意: 給定n、m,求出(1--n)所有數與(1--m)所有數的gcd之和。 看完題解後可以發現一個有用的結論: 對於一個數,他的所有因子的歐拉值之和等於這個數本身。

[matlab] 18.matlab自帶kmeans函數的的重心

fun 觀察 輸出參數 分區 進行 cti 矩陣 s函數 func k -means聚類是一種分區方法。該函數kmeans將數據分區為k個互斥集群,並返回它為每個觀察分配的集群的索引。 與層次聚類不同,k -means聚類對實際觀察(而不是較大的相異度度量集)進行操作,並

BZOJ 1185: [HNOI2007]最小矩形覆蓋-旋轉卡殼法最小外接矩形(面積)並輸出四個頂點坐標-備忘板子

article ref https color 旋轉 blank spa def abs 來源:旋轉卡殼法求點集最小外接矩形(面積)並輸出四個頂點坐標 BZOJ又崩了,直接貼一下人家的代碼。 代碼: 1 #include"stdio.h"

hdu2086A1 = ?解題報告---推導通項

A1 = ? Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11271 &nb

tarjan雙+樹上倍增/圓方樹+並查--business

對我沒打錯名字,就是 b u s i

hdu1394Minimum Inversion Number解題報告---線段樹(單插值 & 區間逆序數求和)

                              Minimum Inversion Number Time Limit: 2000