• <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>

            pku 2553 The Bottom of a Graph 強(qiáng)連通分量+縮點(diǎn)

            這類題目遇到好幾條了,不想解釋了,藍(lán)皮書上有個(gè)學(xué)校軟件援助計(jì)劃,poj上也有原題,這題太裸了,不解釋。。
             1 # include <stdio.h>
             2 # include <string.h>
             3 # include <stdbool.h>
             4 # include <stdlib.h>
             5 # define min(a,b) ((a)<(b)?(a):(b))
             6 bool map[5005][5005];
             7 int n,m;
             8 int dfn,id[5005],low[5005],con[5005],cn,stack[5005],top,res[5005],rc;
             9 bool count[5005];
            10 int cmp(const void *a,const void *b)
            11 {
            12     return *(int *)a-*(int *)b;
            13 }
            14 void dfs(int pos)
            15 {
            16     int i;
            17     id[pos]=low[pos]=dfn++;
            18     stack[top++]=pos;
            19     for(i=1;i<=n;i++)
            20       if(map[pos][i])
            21       {
            22         if(id[i]==-1)
            23            dfs(i);
            24         low[pos]=min(low[pos],low[i]);
            25       }
            26     if(low[pos]>=id[pos])
            27     {
            28        do
            29        {
            30           con[stack[--top]]=cn;
            31           low[stack[top]]=n;
            32        }while(stack[top]!=pos);
            33        cn++;
            34     }
            35 }
            36 int main()
            37 {
            38   //  freopen("bottom.in","r",stdin);
            39   //  freopen("ans.txt","w",stdout);
            40     while(1)
            41     {
            42        int i,j;
            43        scanf("%d",&n);
            44        if(!n) break;
            45        scanf("%d",&m);
            46        memset(map,0,sizeof(map));
            47        while(m--)
            48        {
            49           int t1,t2;
            50           scanf("%d%d",&t1,&t2);
            51           map[t1][t2]=1;
            52        }
            53        dfn=cn=top=rc=0;
            54        memset(id,-1,sizeof(id));
            55        for(i=1;i<=n;i++)
            56          if(id[i]==-1)
            57            dfs(i);
            58        memset(count,1,sizeof(count));
            59        for(i=1;i<=n;i++)
            60         if(count[con[i]])
            61          for(j=1;j<=n;j++)
            62            if(map[i][j]&&con[i]!=con[j])
            63            {
            64               count[con[i]]=0;
            65            }
            66        for(i=0;i<cn;i++)
            67          if(count[i])
            68            {
            69              for(j=1;j<=n;j++)
            70                if(con[j]==i)
            71                   res[rc++]=j;
            72            }
            73        qsort(res,rc,sizeof(int),cmp);
            74        if(rc==0)
            75          printf("\n");
            76        else
            77        {
            78          printf("%d",res[0]);
            79          for(i=1;i<rc;i++)
            80            printf(" %d",res[i]);
            81          printf("\n");
            82        }
            83        
            84     }
            85     return 0;
            86 }
            87 


            posted on 2010-11-07 02:50 yzhw 閱讀(160) 評論(0)  編輯 收藏 引用 所屬分類: graph

            <2010年11月>
            31123456
            78910111213
            14151617181920
            21222324252627
            2829301234
            567891011

            導(dǎo)航

            統(tǒng)計(jì)

            公告

            統(tǒng)計(jì)系統(tǒng)

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            久久精品人妻中文系列| 国产高潮国产高潮久久久| 一本色综合久久| 少妇高潮惨叫久久久久久| 好久久免费视频高清| 午夜精品久久久久9999高清| 亚洲精品乱码久久久久久蜜桃不卡| .精品久久久麻豆国产精品| 久久丝袜精品中文字幕| 浪潮AV色综合久久天堂| 欧美精品一区二区久久| www.久久热.com| 久久精品亚洲AV久久久无码| 99久久亚洲综合精品网站| 久久无码AV中文出轨人妻| 国内精品久久久久久麻豆| 国产精品福利一区二区久久| 精品综合久久久久久97| 久久国产三级无码一区二区| 97精品国产91久久久久久| 狠狠色综合网站久久久久久久高清| 伊人久久精品线影院| 成人久久久观看免费毛片| 久久精品中文无码资源站| 色婷婷综合久久久久中文字幕| 国内精品久久国产大陆| 久久精品www人人爽人人| 久久久国产精华液| 久久中文字幕人妻熟av女| 欧美久久天天综合香蕉伊| 久久久国产精品| 国产成人久久久精品二区三区| 久久电影网2021| 99久久99久久| 青青热久久综合网伊人| 欧美亚洲另类久久综合| 日本免费久久久久久久网站| 久久精品国产福利国产秒| 久久精品国产99国产精偷| 久久亚洲精品视频| 亚洲午夜精品久久久久久人妖|