栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 1144 Network

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 1144 Network

#include <iostream>#include <string.h>#include <stdio.h>#define M 110using namespace std;int dep[M],low[M],head[M];bool cut[M];int e,n,rt,son;struct E{    int to,nxt;}edge[M*M];void addedge (int cu,int cv){    edge[e].to = cv;    edge[e].nxt = head[cu];    head[cu] = e ++;}int min (int a,int b){    return a > b ? b : a;}void dfs (int cnt,int u){    dep[u] = low[u] = cnt;    for (int i = head[u];i != -1;i = edge[i].nxt)    {        int v = edge[i].to;        if (!dep[v])        { dfs (cnt + 1,v); if (u == rt)     son ++; else {     low[u] = min (low[u],low[v]);     if (dep[u] <= low[v])         cut[u] = true; }        }        else low[u] = min (low[u],dep[v]);    }}int main (){    int u,v;    while (cin >> n&&n)    {        memset (dep,0,sizeof(dep));        memset (low,0,sizeof(low));        memset (cut,false,sizeof(cut));        memset (head,0xFF,sizeof (head));        e = 0;        while (cin >> u&&u) while (getchar()!= 'n') {     cin >> v;     addedge (u,v);     addedge (v,u); }        rt = 1;son = 0;        dfs (1,rt);        int ans = 0;        if (son > 1) ans ++;        for (int i = 1;i <= n;i ++) if (cut[i])     ans ++;        cout <<ans<<endl;    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374551.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号