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

            Better man

            改變性格 改變命運!

             

            求割頂(poj1144)

             1 #include<iostream>
             2 using namespace std;
             3 #define black 2
             4 #define white 0
             5 #define gray 1
             6 bool map[101][101];
             7 int n;//表示節點個數
             8 int color[101],D[101];
             9 int root=1;//頭節點
            10 int ancestor[101];
            11 int cnt;
            12 int tme=0;
            13 int A[101];
            14 bool cut[101];
            15 void dfs(int k,int father,int dep)
            16 {
            17       int tot;
            18       color[k]=gray;
            19       D[k]=dep;
            20       ancestor[k]=dep;
            21       tot=0;//表示頂點k的兒子的數量
            22       for(int i=1;i<=n;++i)
            23       {
            24             if(map[i][k]&&i!=father&&color[i]==gray)
            25                   ancestor[k]=min(ancestor[k],D[i]);
            26             if(map[i][k]&&color[i]==white)
            27             {
            28                   dfs(i,k,dep+1);
            29                   tot++;
            30                   ancestor[k]=min(ancestor[k],ancestor[i]);
            31                   //根節點
            32                   if(k==root&&tot>1)cut[k]=1;
            33                   if(k!=root&&ancestor[i]>=D[k])
            34                         cut[k]=1;
            35             }
            36       }
            37       color[k]=black;
            38       A[k]=++tme;//時間戳
            39 }
            40 int main()
            41 {
            42       int t1,t3;
            43       char t2;
            44       while(scanf("%d",&n)&&n)
            45       {
            46             cnt=0;
            47             memset(map,0,sizeof(map));
            48             memset(cut,0,sizeof(cut));
            49             memset(ancestor,0,sizeof(ancestor));
            50             memset(color,0,sizeof(color));
            51             memset(D,0,sizeof(D));
            52             while(scanf("%d",&t1)&&t1)
            53             {
            54                   while((t2=getchar())!='\n')
            55                   {
            56                         scanf("%d",&t3);
            57                         map[t1][t3]=map[t3][t1]=1;
            58                   }
            59             }
            60             dfs(1,0,1);
            61             for(int i=1;i<=n;++i)
            62                   if(cut[i])cnt++;
            63             printf("%d\n",cnt);
            64       }
            65       return 0;
            66 }
            67 

            posted on 2009-01-27 17:50 SHFACM 閱讀(500) 評論(1)  編輯 收藏 引用

            評論

            # re: 求割頂(poj1144) 2009-05-19 17:32 shishuai

            你缺少個 min函數定義!能加上嗎?  回復  更多評論   

            導航

            統計

            常用鏈接

            留言簿(2)

            隨筆檔案

            文章分類

            文章檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            无码人妻少妇久久中文字幕蜜桃| 久久99精品久久久久婷婷| 色综合合久久天天综合绕视看| 亚洲国产精久久久久久久| 亚洲&#228;v永久无码精品天堂久久 | 国产精品热久久毛片| 久久久久久毛片免费看| 中文字幕久久波多野结衣av| 久久国产精品久久久| 亚洲AV伊人久久青青草原| 国产精品久久久久久一区二区三区| 精品久久人人做人人爽综合| 亚洲综合精品香蕉久久网| 国产免费久久精品丫丫| 久久婷婷激情综合色综合俺也去| 国产三级观看久久| 韩国免费A级毛片久久| 久久午夜免费视频| 久久99精品久久久久久齐齐| 久久久久亚洲AV无码永不| 久久婷婷国产剧情内射白浆| 久久播电影网| 国产精品99久久久久久猫咪| 久久国产热精品波多野结衣AV| 理论片午午伦夜理片久久| 91久久婷婷国产综合精品青草| 久久天天躁狠狠躁夜夜2020一| 久久精品视频免费| 久久综合久久自在自线精品自 | 99久久国产亚洲高清观看2024 | 亚洲天堂久久精品| 国产精品久久一区二区三区| 无码AV中文字幕久久专区| 2021国内精品久久久久久影院| 亚洲AⅤ优女AV综合久久久| 久久久WWW免费人成精品| 国产福利电影一区二区三区久久久久成人精品综合 | 久久青青草原精品国产不卡| 国产精品成人久久久久久久| 2020最新久久久视精品爱| 99久久亚洲综合精品成人|