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

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>
            欧美激情在线| 国产综合在线看| 中文一区在线| 一本色道久久加勒比88综合| 欧美日韩国产在线播放| 亚洲一区二区三区乱码aⅴ蜜桃女 亚洲一区二区三区乱码aⅴ | 性伦欧美刺激片在线观看| 国产精品网站在线播放| 久久av资源网| 久久免费国产精品| 亚洲免费av电影| 一本大道久久a久久综合婷婷| 国产精品久久影院| 久久综合伊人| 欧美精品一区二区三区视频| 亚洲一区二区精品视频| 欧美一区二区视频免费观看| 亚洲国产三级网| 亚洲精品一区在线观看| 国产女主播视频一区二区| 欧美成人精品激情在线观看| 欧美日本在线视频| 久久精品在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| av不卡免费看| 欧美一区高清| 一区二区欧美在线| 久久久99国产精品免费| 一区二区三区国产盗摄| 欧美制服丝袜| 亚洲一级二级| 久久久久综合| 午夜精品一区二区三区在线视| 久久久久高清| 香蕉久久夜色精品国产| 欧美 日韩 国产一区二区在线视频| 亚洲午夜久久久久久尤物| 久久亚洲一区| 欧美一区二区私人影院日本 | 亚洲经典在线看| 国产欧美日本一区视频| 91久久精品一区二区别| 国产一区二区三区久久悠悠色av | 欧美成人中文字幕| 欧美在线免费观看视频| 欧美日本在线播放| 欧美大片国产精品| 国产夜色精品一区二区av| 夜夜嗨av一区二区三区免费区| 亚洲第一主播视频| 欧美一区午夜精品| 欧美一级黄色网| 欧美午夜精品电影| 亚洲精品在线免费| 亚洲第一二三四五区| 欧美一区观看| 久久国产精品久久久久久电车| 欧美色网在线| 日韩午夜在线观看视频| 日韩视频一区二区在线观看| 久热成人在线视频| 另类国产ts人妖高潮视频| 国产亚洲一区精品| 欧美在线二区| 久久精品亚洲| 国产在线拍偷自揄拍精品| 午夜欧美精品| 久久精品中文字幕免费mv| 国产日韩欧美91| 亚洲欧美国产一区二区三区| 亚洲欧美日韩精品久久| 国产精品www网站| 亚洲一区二区三区精品在线| 亚洲私人影院| 国产日本欧美一区二区| 欧美亚洲一区| 男人天堂欧美日韩| 亚洲精品护士| 国产精品久久久久久久久动漫| 一区二区激情视频| 欧美在线三级| 1000部国产精品成人观看| 欧美bbbxxxxx| 日韩一区二区免费高清| 性刺激综合网| 在线看一区二区| 欧美激情一区二区| 国产精品99久久久久久白浆小说| 香港久久久电影| 在线观看欧美| 欧美日韩在线三级| 午夜精品福利电影| 欧美成人综合网站| 中文精品在线| 国产一区二区三区无遮挡| 免费视频一区| 亚洲综合国产| 欧美福利视频在线| 午夜在线精品| 亚洲精品一区二区三区99| 国产精品大片wwwwww| 久久国产婷婷国产香蕉| 亚洲精品国产无天堂网2021| 午夜精品久久久99热福利| 在线不卡a资源高清| 欧美日韩一区二区三区免费| 欧美一区精品| 亚洲人成免费| 裸体女人亚洲精品一区| 一区二区高清在线观看| 激情欧美国产欧美| 国产精品久久久久91| 久久香蕉国产线看观看网| 中日韩视频在线观看| 欧美www视频在线观看| 午夜欧美大尺度福利影院在线看| 亚洲动漫精品| 国产一区二区三区久久久久久久久| 欧美国产精品一区| 久久精品免费| 亚洲综合电影一区二区三区| 最新国产の精品合集bt伙计| 久久久久久久国产| 亚洲欧美经典视频| 一区二区三区久久精品| 在线视频观看日韩| 国产一区二区三区在线免费观看| 欧美午夜精品久久久| 欧美韩国日本综合| 久久亚洲精选| 久久黄金**| 欧美一级久久久| 亚洲自拍偷拍福利| 99在线精品免费视频九九视| 亚洲国产精品高清久久久| 麻豆乱码国产一区二区三区| 久久成人免费网| 欧美在线中文字幕| 欧美一区二区三区在线播放| 亚洲一区二区欧美日韩| 亚洲视频国产视频| 一本色道久久精品| 一本色道**综合亚洲精品蜜桃冫| 亚洲一区国产精品| 久久人体大胆视频| 欧美在线视频导航| 欧美主播一区二区三区美女 久久精品人 | 久久人人精品| 久久久久综合一区二区三区| 久久久久成人精品| 久久青草久久| 美国成人直播| 欧美另类极品videosbest最新版本 | 亚洲欧洲一区二区三区在线观看| 欧美大片在线观看一区| 亚洲第一色中文字幕| 欧美高清视频免费观看| 欧美国产视频日韩| 亚洲人被黑人高潮完整版| 亚洲精品影院在线观看| 一区二区欧美国产| 小处雏高清一区二区三区| 欧美亚洲综合在线| 久久中文欧美| 欧美日韩成人综合天天影院| 国产精品地址| 狠狠色狠狠色综合系列| 在线观看av一区| 一区二区三区欧美激情| 性欧美18~19sex高清播放| 久久久久se| 欧美黄色免费| 亚洲无吗在线| 久久久综合激的五月天| 欧美极品欧美精品欧美视频| 国产精品www网站| 狠狠入ady亚洲精品| 亚洲精品乱码久久久久久| 亚洲一二三区视频在线观看| 久久精品一区中文字幕| 亚洲高清视频在线观看| 亚洲小说区图片区| 久久精品人人爽| 欧美日本在线视频| 国产综合久久久久久鬼色| 亚洲精品久久久久久久久| 午夜久久tv| 亚洲国产欧美在线| 亚洲欧美日韩国产一区二区三区| 免费av成人在线| 国产欧美一区二区三区国产幕精品| 在线欧美三区| 午夜精品久久久久99热蜜桃导演| 免费成人黄色片| 亚洲欧美成人网| 欧美男人的天堂| 怡红院精品视频在线观看极品| 亚洲综合日韩| 亚洲欧洲日本国产| 久久先锋资源|