zoukankan      html  css  js  c++  java
  • poj 1144 Network(割点入门)

    http://poj.org/problem?id=1144

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<vector>
     5 using namespace std;
     6 
     7 const int mx=105;
     8 vector<int>map[mx];
     9 int dfn[mx],low[mx],vs[mx],flag[mx];
    10 int dfn_cut;
    11 
    12 void dfs(int v,int u)
    13 {
    14     int child=0;
    15     dfn[v]=low[v]=++dfn_cut;
    16     vs[v]=1;
    17     for (int i=0;i<map[v].size();i++)
    18     {
    19         int w=map[v][i];
    20         if (!vs[w])
    21         {
    22             child++;
    23             dfs(w,v);
    24             low[v]=min(low[v],low[w]);
    25             if (child>1&&v==1) flag[v]=1;
    26             if (v!=1&&low[w]>=dfn[v]) flag[v]=1;
    27         }
    28         else if (w!=u&&u!=-1) low[v]=min(low[v],dfn[w]);
    29     }
    30 }
    31 
    32 int main()
    33 {
    34     int n,x,y;
    35     while (~scanf("%d",&n)&&n)
    36     {
    37         for (int i=1;i<=n;i++) map[i].clear();
    38         while (~scanf("%d",&x)&&x)
    39         {
    40             char c;
    41             while (c=getchar()!='
    ')
    42             {
    43                 scanf("%d",&y);
    44                 map[x].push_back(y);
    45                 map[y].push_back(x);
    46             }
    47         }
    48         memset(low,0,sizeof(low));
    49         memset(dfn,0,sizeof(dfn));
    50         memset(vs,0,sizeof(vs));
    51         memset(flag,0,sizeof(flag));
    52         dfn_cut=0;
    53         dfs(1,-1);
    54         int ans=0;
    55         for (int i=1;i<=n;i++) ans+=flag[i];
    56         printf("%d
    ",ans);
    57     }
    58 }

    终于做了一道割点题,虽然还不太懂

  • 相关阅读:
    ios 开发证书制作
    iOS UILable 高度自适
    asp 中创建日志打印文件夹
    ios iphone、ipad启动画面尺寸
    ios 更改UITableview中Section的字体颜色
    Azure Blob 存储简介
    java追加文件
    java读取文件
    DNS原理及其解析过程
    单点登录原理与简单实现
  • 原文地址:https://www.cnblogs.com/pblr/p/5308142.html
Copyright © 2011-2022 走看看