1144
来源:互联网 发布:表格中如何建立数据库 编辑:程序博客网 时间:2024/06/07 22:19
我觉得我还是别学点双了。
#include<cstdio>#include<cstring>#include<iostream>#include<vector>#include<algorithm>#include<set>#include<map>#include<cmath>using namespace std;#define rep(i,j,k) for(i=j;i<=k;++i)#define per(i,j,k) for(i=j;i>=k;--i)#define G getchar()#define LL long long#define pii pair<int,int>#define mkp make_pair#define X first#define Y secondconst int N=105;int n,ans;bool flg[N];int he[N],ne[N<<1],to[N<<1],tot;int dfn[N],low[N],id;bool ic[N];void add(int x,int y){to[++tot]=y;ne[tot]=he[x];he[x]=tot;}void tarjan(int x,int fa){dfn[x]=low[x]=++id;int i,y,cnt=0;for(i=he[x];i;i=ne[i])if((y=to[i])!=fa){if(!dfn[y]){tarjan(y,x);low[x]=min(low[x],low[y]);if(low[y]>dfn[x]){if(x>1)ic[x]=1;++cnt;}}else low[x]=min(low[x],dfn[y]);}if(x==1)ic[1]=cnt>1;}int main(){int x,y,i;while(1){scanf("%d",&n);if(!n)break;rep(i,1,n)he[i]=flg[i]=ic[i]=dfn[i]=0;tot=1;id=ans=0;while(1){scanf("%d",&x);if(!x)break;while(getchar()!='\n'){scanf("%d",&y);add(x,y);add(y,x);}}tarjan(1,0);rep(i,1,n)ans+=ic[i];printf("%d\n",ans);}return 0;}
阅读全文
0 0
- 1144
- 1144
- 1144 Network
- sicily 1144
- poj 1144
- poj 1144
- Poj 1144
- POJ 1144
- poj 1144
- POJ 1144
- 洛谷 1144
- 玲珑 1144
- 【玲珑】1144
- poj 1144
- POJ 1144
- zoj 1144 Robbery
- 北大1144题
- POJ 1144 Network
- 算法笔记:贪心法(未完待续)
- 第六章 理解对象
- 如何培养《未来架构师》
- 关于Spring容器中定时器到时执行会出现两个线程同时执行的问题
- Gourmet and Banquet -CodeForces
- 1144
- orcale数据库-----------------2。字符函数
- java 设计模式 之 原型模式
- 如何培养《未来架构师》(2)
- How to copy and paste quickly in the shell
- float浮动的原理和工作方式,以及浮动造成的问题总结
- [POJ]2185 真正的正解
- 在C#中,Json的序列化和反序列化的几种方式总结
- 以太坊智能合约教程(一)搭建以太坊私有链搭建