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

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>
            午夜精品久久久久久久99水蜜桃 | 亚洲高清视频的网址| 欧美一区二区三区在线播放| 一区二区欧美激情| 国产精品美女主播| 久久精品官网| 久久伊人精品天天| 日韩视频欧美视频| 一区二区三区四区在线| 国产精品一区=区| 久久久久久久性| 久久中文精品| a4yy欧美一区二区三区| 在线一区欧美| 国内精品伊人久久久久av一坑| 久久久亚洲影院你懂的| 免费观看一级特黄欧美大片| 一区二区毛片| 欧美一区二区三区免费大片| 亚洲国产乱码最新视频| 在线亚洲国产精品网站| 国产情侣久久| 亚洲高清视频中文字幕| 欧美性大战久久久久久久| 久久精品国产清自在天天线| 暖暖成人免费视频| 翔田千里一区二区| 久久午夜av| 午夜精品偷拍| 久久综合狠狠综合久久综合88| 亚洲色图综合久久| 久久久精品网| 亚洲欧美日韩高清| 欧美a级一区| 久久精品成人一区二区三区 | 亚洲欧美日韩国产中文在线| 亚洲精品免费电影| 欧美伊人久久大香线蕉综合69| 99热免费精品在线观看| 欧美一级专区| 亚洲一区视频在线观看视频| 免费亚洲电影在线观看| 欧美专区中文字幕| 欧美日精品一区视频| 欧美大片在线观看一区| 国产亚洲精品综合一区91| 亚洲美女黄色片| 亚洲人成小说网站色在线| 欧美有码视频| 欧美一区二区三区在线看| 欧美日韩福利在线观看| 免费成人av资源网| 国产欧美日韩在线视频| 亚洲视频在线观看免费| 99精品国产一区二区青青牛奶 | 亚洲一区二区三区视频播放| 亚洲六月丁香色婷婷综合久久| 久久精品在这里| 久久激情中文| 国产日韩一区二区三区| 亚洲欧美综合另类中字| 午夜视频在线观看一区二区三区| 欧美日韩亚洲一区在线观看| 亚洲精品美女久久久久| 亚洲国产精品va在线观看黑人| 99精品国产99久久久久久福利| 久久免费视频网站| 你懂的成人av| 亚洲经典视频在线观看| 久久亚洲春色中文字幕久久久| 久久综合给合久久狠狠色| 精品动漫3d一区二区三区免费| 欧美伊人久久久久久久久影院| 欧美在线免费视频| 国产一区二区成人| 久久超碰97人人做人人爱| 久久久国产精品一区| 激情自拍一区| 久久综合精品国产一区二区三区| 欧美激情精品久久久六区热门| 91久久国产综合久久蜜月精品 | 国产精品亚洲激情| 亚洲一区制服诱惑| 欧美中文字幕在线| 一区二区三区在线不卡| 欧美成人一二三| 亚洲精品久久在线| 亚洲一区日韩在线| 国产视频自拍一区| 美国成人毛片| 亚洲欧洲一区二区三区久久| 亚洲视频一区二区免费在线观看| 国产精品久久久999| 久久成人综合视频| 欧美二区不卡| 亚洲综合清纯丝袜自拍| 国内精品久久久久久影视8 | 欧美一激情一区二区三区| 久久亚洲综合色一区二区三区| 亚洲精品国产精品国自产观看浪潮| 亚洲视频一区在线观看| 国产亚洲精品久| 欧美国产先锋| 午夜久久99| 亚洲人在线视频| 欧美中文字幕不卡| 99精品国产高清一区二区| 国产欧美高清| 欧美日韩国产综合久久| 久久免费视频在线| 一本色道久久88亚洲综合88| 老牛国产精品一区的观看方式| 一区二区三区高清不卡| 在线看国产日韩| 国产精品一香蕉国产线看观看| 欧美二区在线| 久久精品99国产精品日本| 在线中文字幕一区| 亚洲激情专区| 嫩模写真一区二区三区三州| 欧美亚洲免费高清在线观看| 日韩午夜在线观看视频| 尤物九九久久国产精品的特点 | 欧美一区网站| 一区二区三区四区蜜桃| 亚洲国产精品一区制服丝袜| 久久久夜夜夜| 欧美一二三区精品| 亚洲免费在线看| 一本色道久久| 亚洲毛片在线观看.| 亚洲高清网站| 精久久久久久久久久久| 国产一区二区三区丝袜| 国产精品热久久久久夜色精品三区 | 日韩一区二区精品葵司在线| 亚洲电影av在线| 老色鬼精品视频在线观看播放| 久久国产精品亚洲77777| 先锋影音一区二区三区| 亚洲午夜三级在线| 国产精品99久久久久久久久久久久| 亚洲国产精品久久人人爱蜜臀| 一区免费视频| 在线欧美不卡| 最近看过的日韩成人| 亚洲国产精品v| 亚洲国产专区| 亚洲国产精品久久久久婷婷老年| 亚洲缚视频在线观看| 91久久精品视频| 亚洲精品乱码久久久久久| 亚洲人成高清| 一区二区三区精密机械公司| 一区二区三区欧美亚洲| 亚洲无线观看| 午夜精品久久久久久久男人的天堂 | 国产精品久久久对白| 国产精品普通话对白| 国产亚洲精品久久飘花 | 欧美美女bb生活片| 欧美日韩一区在线观看| 国产麻豆午夜三级精品| 韩日精品视频一区| 亚洲黄色在线观看| 亚洲一区二区精品在线观看| 欧美一区二区黄| 免费日韩av| 亚洲精选91| 午夜日韩在线| 嫩草影视亚洲| 国产精品久久久久久久久久直播| 国产一区二区成人| 最新高清无码专区| 亚洲欧美成人一区二区在线电影| 午夜精品理论片| 免费看的黄色欧美网站| 亚洲精选成人| 久久久精品日韩欧美| 欧美精品尤物在线| 国产无遮挡一区二区三区毛片日本| 在线免费观看日韩欧美| 亚洲一区二区三区四区中文| 美女日韩在线中文字幕| 在线视频精品一区| 久久夜色精品国产亚洲aⅴ| 欧美三级第一页| 一色屋精品视频在线看| 亚洲欧美日本精品| 亚洲国产精品久久| 香蕉免费一区二区三区在线观看| 欧美激情成人在线| 黄色精品一区二区| 亚洲女女做受ⅹxx高潮| 亚洲国产精品成人精品| 先锋资源久久| 欧美视频在线一区二区三区| 亚洲国产高清在线| 久久精品人人爽| 亚洲网址在线|