• <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 強連通分量+縮點

            這類題目遇到好幾條了,不想解釋了,藍皮書上有個學校軟件援助計劃,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 閱讀(165) 評論(0)  編輯 收藏 引用 所屬分類: graph

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

            導(dǎo)航

            統(tǒng)計

            公告

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

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            99久久精品国产免看国产一区| 久久一区二区三区99| 久久强奷乱码老熟女| 精品久久久久久久无码 | 久久狠狠高潮亚洲精品| 精品国产99久久久久久麻豆| 久久性精品| 国产69精品久久久久APP下载| 久久久久久毛片免费看| 久久嫩草影院免费看夜色| 久久婷婷五月综合成人D啪| 亚洲欧洲精品成人久久奇米网| 久久综合亚洲色HEZYO国产| 四虎国产精品成人免费久久| 一本色道久久88综合日韩精品 | 久久人人爽人人爽人人爽| 久久精品亚洲AV久久久无码| 97久久婷婷五月综合色d啪蜜芽 | 久久综合久久综合九色| 久久久久噜噜噜亚洲熟女综合| 久久久久久久综合综合狠狠| 热综合一本伊人久久精品| 欧美一区二区久久精品| 久久久久久久97| 国产精品18久久久久久vr| 国产女人aaa级久久久级| 久久最新免费视频| 久久久无码精品亚洲日韩蜜臀浪潮| 狠狠色综合网站久久久久久久高清| 亚洲熟妇无码另类久久久| 久久电影网一区| 伊人色综合久久天天人守人婷| 久久久精品人妻一区二区三区蜜桃| 久久久久久久99精品免费观看| 久久天天躁狠狠躁夜夜2020老熟妇| 久久频这里精品99香蕉久| 99久久久精品免费观看国产| 久久亚洲中文字幕精品一区| 久久久无码精品亚洲日韩蜜臀浪潮| 久久97久久97精品免视看| 久久棈精品久久久久久噜噜|