• <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)皮書上有個學(xué)校軟件援助計劃,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)計

            公告

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

            留言簿(1)

            隨筆分類(227)

            文章分類(2)

            OJ

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            91视频国产91久久久| 久久国产综合精品五月天| 性高湖久久久久久久久AAAAA| AAA级久久久精品无码片| 99久久超碰中文字幕伊人| 精品久久久久久久久午夜福利| 婷婷久久香蕉五月综合加勒比| 午夜精品久久久久久久久| 色婷婷久久综合中文久久蜜桃av| 性做久久久久久久| 久久国产精品一区二区| 91久久福利国产成人精品| 国产精品成人99久久久久 | 夜夜亚洲天天久久| 国产精品美女久久久久av爽| 久久本道综合久久伊人| 亚洲欧美久久久久9999| 久久综合亚洲色HEZYO社区| 久久亚洲精精品中文字幕| 国产日产久久高清欧美一区| 精品无码久久久久久久久久 | 97久久国产综合精品女不卡| 麻豆成人久久精品二区三区免费 | 亚洲欧美精品一区久久中文字幕| 久久青青色综合| 国产美女久久久| 亚洲国产成人久久一区WWW| 久久偷看各类wc女厕嘘嘘| 色综合久久88色综合天天| 久久亚洲精品成人无码网站| 色综合久久综合网观看| 一本久久a久久精品亚洲| www.久久99| 亚洲精品乱码久久久久久按摩| 久久99热精品| 三上悠亚久久精品| 日韩美女18网站久久精品| 青青青国产精品国产精品久久久久| 久久亚洲天堂| 精品久久久久久无码免费| 性欧美大战久久久久久久久|