青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

POJ 1523 SPF 割點(diǎn)+分割連通塊的數(shù)量

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

Source


    圖論,又是一道割點(diǎn)的題,并且還要求出圖中所有的割點(diǎn)分別能將圖分割成幾個(gè)不同的塊。可以將某個(gè)割點(diǎn)的訪問(wèn)標(biāo)記設(shè)置為1,然后對(duì)圖進(jìn)行dfs,方法類似求圖中有幾個(gè)連通的區(qū)域。
#include <iostream>
#include 
<vector>
using namespace std;

const int MAXN = 1010;
bool flag,cut[MAXN],visit[MAXN];
vector
< vector<int> > adj;
int mark[MAXN],deep[MAXN],ancestor[MAXN];

void dfs(int u,int father,int depth){
    
int i,v,son=0,len=adj[u].size();
    mark[u]
=1,deep[u]=ancestor[u]=depth;
    
for(i=0;i<len;i++){
        v
=adj[u][i];
        
if(v!=father && mark[v]==1)
            ancestor[u]
=min(ancestor[u],deep[v]);
        
if(mark[v]==0){
            dfs(v,u,depth
+1);
            son
=son+1;
            ancestor[u]
=min(ancestor[u],ancestor[v]);
            
if((father==-1 && son>1|| (father!=-1 && ancestor[v]>=deep[u]))
                cut[u]
=true;
        }

    }

    mark[u]
=2;
}

void partition(int u){
    visit[u]
=true;
    
int i,len=adj[u].size();
    
for(i=0;i<len;i++)
        
if(!visit[adj[u][i]])
            partition(adj[u][i]);
}

int main(){
    
int i,j,x,y,n,cnt,ca=1;
    
while(scanf("%d",&x),x){
        scanf(
"%d",&y);
        adj.assign(MAXN,vector
<int>());
        n
=max(x,y);
        adj[x
-1].push_back(y-1),adj[y-1].push_back(x-1);
        
while(scanf("%d",&x)){
            
if(x==0break;
            scanf(
"%d",&y);
            n
=max(x,y);
            adj[x
-1].push_back(y-1),adj[y-1].push_back(x-1);
        }

        memset(cut,
false,sizeof(cut));
        memset(mark,
0,sizeof(mark));
        
for(i=0;i<n;i++)
            
if(mark[i]==0
                dfs(
0,-1,0);
        printf(
"Network #%d\n",ca++);
        
for(flag=false,i=0;i<n;i++)
            
if(cut[i]){
                flag
=true;
                memset(visit,
false,sizeof(visit));
                
for(visit[i]=true,cnt=j=0;j<n;j++)
                    
if(!visit[j])
                        partition(j),cnt
++;
                printf(
"  SPF node %d leaves %d subnets\n",i+1,cnt);
            }

        
if(!flag)
            printf(
"  No SPF nodes\n");
        printf(
"\n");
    }

    
return 0;
}

posted on 2009-05-28 19:18 極限定律 閱讀(1116) 評(píng)論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC

<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

導(dǎo)航

統(tǒng)計(jì)

常用鏈接

留言簿(10)

隨筆分類

隨筆檔案

友情鏈接

搜索

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            狠狠久久婷婷| 国产区二精品视| 91久久线看在观草草青青| 久久亚洲精品伦理| 久久久久久久精| 亚洲精品乱码久久久久久蜜桃91 | 欧美精品国产| 一区二区三区高清在线 | 久久久久九九视频| 久久久一区二区| 日韩视频在线观看国产| 亚洲视频国产视频| 国产日本欧美一区二区| 久久不射网站| 欧美一区国产一区| 黑人极品videos精品欧美裸| 欧美gay视频| 欧美成人午夜77777| 99精品国产福利在线观看免费| 欧美激情a∨在线视频播放| 午夜一区不卡| 国产精品久久久久99| 亚洲综合欧美日韩| 午夜亚洲福利| 亚洲国产精品一区二区第四页av | 亚洲国产老妈| 亚洲韩国日本中文字幕| 欧美日韩播放| 欧美在线影院| 免费观看国产成人| 亚洲愉拍自拍另类高清精品| 亚洲一区二区免费看| 国产视频久久| 久久这里只精品最新地址| 欧美片在线观看| 久久精品国产欧美激情| 欧美一级片一区| 亚洲乱码国产乱码精品精98午夜| 亚洲电影免费在线观看| 国产精品看片资源| 免费成人黄色| 国产精品久久久久久久浪潮网站| 久久理论片午夜琪琪电影网| 欧美寡妇偷汉性猛交| 欧美一区激情| 奶水喷射视频一区| 午夜精品免费视频| 久久影视精品| 久久精品欧洲| 欧美三级中文字幕在线观看| 久久人人97超碰人人澡爱香蕉 | 美女福利精品视频| 欧美日韩国产综合新一区| 久久九九国产| 欧美日韩综合视频| 欧美高清一区| 国产色产综合色产在线视频| 日韩视频免费观看| 在线欧美一区| 欧美在线观看一区二区三区| 正在播放欧美视频| 欧美成人久久| 麻豆精品在线观看| 国产精品欧美风情| 亚洲激情专区| 99国产精品久久久久老师 | 欧美一区二区三区在线观看| 欧美日本三区| 亚洲成色999久久网站| 黑人一区二区三区四区五区| 亚洲私人影院| 亚洲免费在线视频| 欧美日韩一二区| 91久久精品一区二区别| 亚洲欧洲一区二区天堂久久 | 亚洲福利视频二区| 在线日韩中文字幕| 久久久欧美一区二区| 久久偷窥视频| 狠狠色综合一区二区| 欧美制服第一页| 久久综合给合| 国产精品国产a级| 在线亚洲欧美视频| 亚洲欧美日韩国产成人精品影院| 欧美日韩综合一区| 夜夜嗨av一区二区三区| 亚洲一二三区在线| 国产精品高潮呻吟视频| 亚洲一二三级电影| 久久精品国产第一区二区三区最新章节| 欧美日韩在线播放三区四区| 一区二区三区视频在线看| 亚洲一区免费| 国产乱码精品1区2区3区| 亚洲欧美区自拍先锋| 久久亚洲国产精品一区二区| 一区二区三区在线视频播放| 欧美在线播放| 欧美高清日韩| 一本大道av伊人久久综合| 欧美日韩在线播放一区二区| 亚洲尤物在线视频观看| 久久久精品五月天| 亚洲人精品午夜| 国产精品久久二区二区| 99精品国产在热久久下载| 亚洲综合色丁香婷婷六月图片| 国产精品久久久久久久久久久久久久 | 国产精品福利在线| 新片速递亚洲合集欧美合集| 久久综合一区二区| 亚洲电影成人| 欧美日韩在线视频观看| 欧美一区二区三区日韩| 亚洲成人在线视频播放 | 在线看视频不卡| 欧美日韩精品免费观看| 香蕉久久夜色| 亚洲日本电影在线| 久久精品在这里| 亚洲国内自拍| 国产精品久久久久影院色老大| 久久精品一区二区国产| 日韩午夜av在线| 久久天天狠狠| 亚洲一区视频在线| 亚洲高清不卡av| 国产精品影音先锋| 欧美激情片在线观看| 久久精品国产精品| 一区二区三区四区国产| 久久久久国内| 亚洲综合导航| 国产在线观看91精品一区| 欧美日韩精品欧美日韩精品一| 亚洲欧美日韩中文在线制服| 亚洲精品免费一二三区| 欧美成年人网| 久久久亚洲精品一区二区三区| 日韩天堂av| 激情另类综合| 国产精品久久久久aaaa樱花| 麻豆精品传媒视频| 欧美一级理论性理论a| 亚洲无线视频| 国产精品99久久久久久久vr | 亚洲香蕉伊综合在人在线视看| 亚洲国产精品嫩草影院| 经典三级久久| 韩国v欧美v日本v亚洲v| 国产欧美一级| 国产毛片一区| 国产精品普通话对白| 欧美日韩在线高清| 欧美深夜福利| 欧美日韩黄色大片| 欧美四级在线观看| 欧美视频在线观看免费网址| 欧美日韩免费高清一区色橹橹| 欧美激情精品久久久久久变态| 麻豆九一精品爱看视频在线观看免费 | 亚洲精品一区二区在线观看| 在线观看视频一区| 亚洲高清在线播放| 亚洲国产精品久久久久婷婷884| 亚洲二区在线观看| 亚洲国产日韩欧美| 亚洲免费大片| aa日韩免费精品视频一| 99热这里只有精品8| 亚洲视频狠狠| 午夜在线电影亚洲一区| 亚洲欧美日韩国产精品| 欧美一区二区三区视频免费| 欧美一区二区三区在线观看视频 | 久久美女性网| 噜噜噜噜噜久久久久久91| 免费观看30秒视频久久| 欧美v国产在线一区二区三区| 免费视频最近日韩| 欧美激情综合在线| 欧美日韩精品福利| 国产精品免费视频观看| 尤物99国产成人精品视频| 亚洲欧洲日产国产网站| 亚洲美女在线国产| 午夜在线一区| 免费国产一区二区| 亚洲人成网在线播放| 亚洲直播在线一区| 久久免费视频网站| 欧美日韩国产成人在线观看| 国产精品永久免费| 亚洲第一久久影院| 亚洲无线一线二线三线区别av| 久久精品二区三区| 亚洲国产精品成人| 午夜精品一区二区三区在线播放| 蜜桃av噜噜一区|