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

POJ 1236 Network of Schools 強連通分量+縮點

 

Description

A number of schools are connected to a computer network. Agreements have been developed among those schools: each school maintains a list of schools to which it distributes software (the “receiving schools”). Note that if B is in the distribution list of school A, then A does not necessarily appear in the list of school B
You are to write a program that computes the minimal number of schools that must receive a copy of the new software in order for the software to reach all schools in the network according to the agreement (Subtask A). As a further task, we want to ensure that by sending the copy of new software to an arbitrary school, this software will reach all schools in the network. To achieve this goal we may have to extend the lists of receivers by new members. Compute the minimal number of extensions that have to be made so that whatever school we send the new software to, it will reach all other schools (Subtask B). One extension means introducing one new member into the list of receivers of one school.

Input

The first line contains an integer N: the number of schools in the network (2 <= N <= 100). The schools are identified by the first N positive integers. Each of the next N lines describes a list of receivers. The line i+1 contains the identifiers of the receivers of school i. Each list ends with a 0. An empty list contains a 0 alone in the line.

Output

Your program should write two lines to the standard output. The first line should contain one positive integer: the solution of subtask A. The second line should contain the solution of subtask B.

Sample Input

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

Sample Output

1
2

Source

   

題目大意:N(2<N<100)各學校之間有單向的網絡,每個學校得到一套軟件后,可以通過單向網絡向周邊的學校傳輸,問題1:初始至少需要向多少個學校發放軟件,使得網絡內所有的學校最終都能得到軟件。2,至少需要添加幾條傳輸線路(邊),使任意向一個學校發放軟件后,經過若干次傳送,網絡內所有的學校最終都能得到軟件。

具體算法:先用Korasaju Algorithm求出有向圖所有的強連通分量,然后將所有的強連通分量縮成一個點(縮點),這樣原來的有向圖就縮成了一個DAG圖(有向無環圖);用2個數組分別記錄新生成的DAG圖中的每個頂點(包括原來的頂點和強連通分量的縮點)是否有出邊和入邊,最后遍歷每個頂點,如果沒有入邊,則ans1++;如果沒有出邊,ans2++。最后所求即為ans1和max(ans1,ans2)。
#include <iostream>
#include 
<vector>
using namespace std;

const int MAXN = 101;
int n,m,cnt;
bool visit[MAXN];
int set[MAXN],order[MAXN],in[MAXN],out[MAXN];
vector
< vector<int> > adj;
vector
< vector<int> > radj;

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

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

void korasaju(){
    
int i;
    memset(visit,
false,sizeof(visit));
    
for(cnt=0,i=1;i<=n;i++)
        
if(!visit[i])
            dfs(i);
    memset(visit,
false,sizeof(visit));
    
for(cnt=0,i=n-1;i>=0;i--)
        
if(!visit[order[i]])
            cnt
++,rdfs(order[i]);
}

int main(){
    
int i,j;
    scanf(
"%d",&n);
    adj.assign(n
+1,vector<int>());
    radj.assign(n
+1,vector<int>());
    
for(i=1;i<=n;i++){
        
while(scanf("%d",&m),m){
            adj[i].push_back(m);
            radj[m].push_back(i);
        }

    }

    korasaju();
    memset(
in,1,sizeof(in));
    memset(
out,1,sizeof(out));
    
for(i=1;i<=n;i++)
        
for(j=0;j<adj[i].size();j++)
            
if(set[i]!=set[adj[i][j]]){
                
out[set[i]]=0;
                
in[set[adj[i][j]]]=0;
            }

    
int ans1=0,ans2=0;
    
for(i=1;i<=cnt;i++){
        
if(out[i]) ans2++;
        
if(in[i]) ans1++;
    }

    
if(cnt==1){
        printf(
"1\n");
        printf(
"0\n");
    }

    
else{
        printf(
"%d\n",ans1);
        printf(
"%d\n",max(ans1,ans2));
    }

    
return 0;
}

posted on 2009-05-25 16:21 極限定律 閱讀(1365) 評論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC

<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

導航

統計

常用鏈接

留言簿(10)

隨筆分類

隨筆檔案

友情鏈接

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            9久re热视频在线精品| 欧美一区三区二区在线观看| 欧美日韩日日骚| 欧美另类视频在线| 欧美日韩一区二区三区免费| 国产精品啊v在线| 国产精品欧美久久| 国产日本精品| 亚洲国产高清视频| aa级大片欧美三级| 小嫩嫩精品导航| 麻豆国产va免费精品高清在线| 欧美高清视频一区二区| 日韩亚洲在线| 久久久久久久久蜜桃| 欧美理论在线| 国产在线精品一区二区中文| 亚洲精品永久免费精品| 午夜一区二区三区不卡视频| 猫咪成人在线观看| 一区二区三区精品| 久久婷婷久久| 国产精品美女久久久久久免费| 国产在线欧美日韩| 亚洲伊人网站| 亚洲激情黄色| 午夜欧美理论片| 欧美理论大片| 亚洲人成艺术| 久久香蕉国产线看观看av| 亚洲久色影视| 美日韩精品免费| 国产伦精品一区二区三区四区免费 | 亚洲级视频在线观看免费1级| 久久中文久久字幕| 亚洲激情社区| 久久精品中文字幕一区| 欧美三级电影网| 亚洲激情另类| 久久免费视频这里只有精品| 亚洲免费av电影| 久久这里有精品视频| 国产日韩欧美亚洲一区| 亚洲亚洲精品三区日韩精品在线视频| 理论片一区二区在线| 亚洲欧美一区二区在线观看| 欧美日韩免费一区二区三区| 亚洲人被黑人高潮完整版| 久久综合婷婷| 欧美自拍偷拍| 国产亚洲成av人片在线观看桃 | 国产精品五区| 亚洲一级一区| 亚洲美女少妇无套啪啪呻吟| 美女爽到呻吟久久久久| 影音国产精品| 另类亚洲自拍| 久久久久国产精品厨房| 国产一区观看| 久久综合九色综合网站| 欧美在线一级视频| 国产欧美在线播放| 久久爱www久久做| 亚洲欧美成人综合| 国产精品一区视频| 久久国产精品亚洲va麻豆| 欧美一区二区在线看| 国产一区二区三区四区五区美女| 久久精品日产第一区二区| 久久黄金**| 亚洲第一毛片| 亚洲国产婷婷综合在线精品| 欧美韩国日本一区| 中国成人黄色视屏| 国产精品99久久99久久久二8 | 国产日韩欧美一区| 久久亚洲捆绑美女| 蜜臀a∨国产成人精品| 亚洲精品久久久蜜桃 | 欧美国产在线观看| 亚洲图片在线| 欧美一区二区三区视频在线观看 | 亚洲欧美在线观看| 久久xxxx精品视频| 亚洲欧洲一区二区三区在线观看 | 亚洲黄色毛片| 欧美国产在线视频| 欧美日韩一区二区三区免费| 校园春色国产精品| 老色鬼久久亚洲一区二区 | 这里只有精品视频在线| 亚洲欧美制服另类日韩| 亚洲国产一区在线| 亚洲视频欧美在线| 在线电影院国产精品| 日韩亚洲欧美成人一区| 精品99一区二区| 亚洲免费观看视频| 黄色精品网站| 亚洲特色特黄| 日韩一区二区电影网| 欧美中文日韩| 亚洲午夜在线观看| 免播放器亚洲一区| 久久精品国产亚洲5555| 欧美三级日本三级少妇99| 免费永久网站黄欧美| 国产精品三级视频| 亚洲三级影院| 亚洲经典一区| 久久精品国产免费看久久精品 | 亚洲国产另类久久精品| 国产日韩视频一区二区三区| 亚洲美女在线看| 亚洲精品国产精品久久清纯直播 | 美女性感视频久久久| 国产精品午夜视频| 亚洲美女免费精品视频在线观看| 亚洲国产精品视频| 欧美专区在线播放| 久久久久亚洲综合| 国产亚洲精品一区二区| 亚洲午夜黄色| 亚洲已满18点击进入久久| 欧美日韩天堂| 国产一区二区激情| 艳女tv在线观看国产一区| 日韩一级不卡| 欧美激情性爽国产精品17p| 久久综合给合久久狠狠色| 国产乱码精品一区二区三区不卡| 一区二区三区视频免费在线观看| 亚洲少妇最新在线视频| 欧美日韩精品一区二区三区四区| 亚洲激情另类| 亚洲少妇在线| 国产精品久久久久久久久久久久久久| 亚洲乱码国产乱码精品精天堂| 日韩午夜精品| 国产精品hd| 小处雏高清一区二区三区| 久久国产精品一区二区三区| 国产亚洲aⅴaaaaaa毛片| 久久三级视频| 亚洲精品1区| 亚洲一级高清| 亚洲片国产一区一级在线观看| 欧美视频一区二区三区在线观看| 亚洲日韩欧美视频| 亚洲午夜精品国产| 国产精品少妇自拍| 久久久久久久精| 亚洲欧洲日韩在线| 亚洲制服少妇| 狠狠v欧美v日韩v亚洲ⅴ| 免费久久99精品国产自| 亚洲精品无人区| 午夜在线播放视频欧美| 好男人免费精品视频| 欧美成人一区二区在线| 一本久道久久综合中文字幕| 久久精品一二三区| 亚洲肉体裸体xxxx137| 国产精品你懂的在线欣赏| 久久精品2019中文字幕| 亚洲黄色在线| 午夜在线精品偷拍| 亚洲国产激情| 国产精品尤物| 欧美黄色aa电影| 亚洲在线黄色| 亚洲国产导航| 欧美在线网址| 99精品视频一区| 国产主播一区| 国产精品v亚洲精品v日韩精品| 久久久爽爽爽美女图片| 99精品欧美一区二区三区综合在线| 久久精品中文字幕免费mv| 日韩视频永久免费| 国产欧美短视频| 欧美日本国产| 久久久综合精品| 午夜国产不卡在线观看视频| 亚洲高清视频在线观看| 久久久久久久999| 亚洲欧美日韩高清| 日韩亚洲欧美在线观看| 亚洲高清三级视频| 国产午夜精品麻豆| 国产精品乱码一区二三区小蝌蚪 | 亚洲国产欧美一区二区三区同亚洲 | 一本色道久久88综合亚洲精品ⅰ | 日韩视频第一页| 狠狠色丁香婷婷综合久久片| 国产精品久久激情| 欧美伦理在线观看| 狂野欧美激情性xxxx| 久久成人18免费网站| 午夜国产精品影院在线观看|