zoukankan      html  css  js  c++  java
  • loj10100 网络

    这个题目描述好难理解呀qwq...

    传送门

    分析

    在读懂题之后我们不难发现这道题实际就是在求一张图中有多少个割点。只需要注意读入方式即可。

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<string>
    #include<algorithm>
    #include<cctype>
    #include<cmath>
    #include<cstdlib>
    #include<queue>
    #include<ctime>
    #include<vector>
    #include<set>
    #include<map>
    #include<stack>
    using namespace std;
    int n,dfn[110],low[110],cnt,sum,ans,is[110];
    vector<int>v[110];
    inline void init(){
          for(int i=0;i<=100;i++)v[i].clear();
          memset(dfn,0,sizeof(dfn));
          memset(low,0,sizeof(low));
          memset(is,0,sizeof(is));
          cnt=sum=ans=0;
    }
    inline void tarjan(int x,int fa){
          int son=0;
          dfn[x]=low[x]=++cnt;
          for(int i=0;i<v[x].size();i++)
            if(v[x][i]!=fa){
                if(!dfn[v[x][i]]){
                    son++;
                  tarjan(v[x][i],x);
                  low[x]=min(low[x],low[v[x][i]]);
                  if(dfn[x]<=low[v[x][i]])is[x]=1;
                }else low[x]=min(low[x],dfn[v[x][i]]);
          }
          if(!fa&&son==1)is[x]=0;
    }
    int main(){
          int i,j,k;
          scanf("%d",&n);
          while(n){
              init();
              int x,y;
              scanf("%d",&x);
              while(x){
                while(getchar()!='
    '){
                    scanf("%d",&y);
                    v[x].push_back(y);
                    v[y].push_back(x);
                }
                scanf("%d",&x);
              }
              for(i=1;i<=n;i++)
                if(!dfn[i])tarjan(i,0);
              for(i=1;i<=n;i++)
                if(is[i])ans++;
              printf("%d
    ",ans);
              scanf("%d",&n);
          }
          return 0;
    }
  • 相关阅读:
    了解动态调试smali
    cli命令
    pass
    cs
    dsp查看
    云翌端口映射
    修改时间
    crm地址修改
    [autocallcustome]湖州瑞声科技有限公司
    播放语音文件
  • 原文地址:https://www.cnblogs.com/yzxverygood/p/9526318.html
Copyright © 2011-2022 走看看