poj 1523 割点
来源:互联网 发布:网络调查兼职 编辑:程序博客网 时间:2024/05/01 05:32
这道题比圆桌骑士简单,只是那个算法的一部分,但是我的坏习惯越来越明显了,每次因为马虎的WA都不会自己找错误,而且每次都是去找测试数据然后去解决wa的,以后一定不能这样了,因为这样ac了也没有成就感啊!而且以后没有测试数据了该怎么办?
#include<iostream>#include<cstdio>#include<string>#include<cstdio>#include<cmath>#include<algorithm>#include<queue>#include<stack>#include<vector>#include<climits>using namespace std;#define max(a,b) (a)>(b)?(a):(b)#define min(a,b) (a)<(b)?(a):(b) #define rep(i,n) for(i=0; i<(n); i++)#define reph(i,n,m) for(i=(n); i<=(m); i++)//正循环的#define repd(i,n,m) for(i=(m); i>=(n); i--) //负循环的#define max(a,b) (a)>(b)?(a):(b)#define min(a,b) (a)<(b)?(a):(b)#define fab(a) (a)>0?(a):0-(a)#define arc(a) (a)*(a)#define inf 10000000 //最大值的#define exp 0.0000001 //浮点型的#define N 1010 //记录开的数组typedef struct fun{int y,pre;}rr;fun a[N];int pre[N];bool sign[N];int sum[N];int n,m,len;int Stack[N],dfn[N],low[N];int tot;void add(int s,int t){ a[len].y=t; a[len].pre=pre[s]; pre[s]=len++; }void dfs(int x,int s){Stack[len++]=x;dfn[x]=low[x]=tot++;sign[x]=true;//代表进栈了int i,y;for(i=pre[x];i!=0; i=a[i].pre){ y=a[i].y;if(y==s)//一条边的来回的continue;if(!sign[y])//没有进栈{dfs(y,x);low[x]=min(low[x],low[y]);if(low[y]>=dfn[x]){sum[x]++;//代表分支加一while(Stack[len]!=y)len--;}}elselow[x]=min(low[x],low[y]);}if(sum[x]!=0 && dfn[x]!=1)//为割点并且其上面还有部分的sum[x]++;}int main(){int s,t,rr=0;;while(scanf("%d",&s) && s){ memset(pre,0,sizeof(pre)); memset(sign,false,sizeof(sign)); memset(sum,0,sizeof(sum)); len=0; rr++; scanf("%d",&t); len=1; add(s,t); add(t,s); n=0; m=10000; n=max(max(s,t),n); m=min(min(s,t),m); while(scanf("%d",&s) &&s) { scanf("%d",&t); n=max(max(s,t),n); m=min(min(s,t),m); add(s,t); add(t,s); }int i; tot=1; len=1; reph(i,m,n) { if(!sign[i])//没有入栈的 dfs(i,-1); } printf("Network #%d\n",rr); int flag=0; reph(i,m,n) { if(sum[i]>1) { flag=1; printf(" SPF node %d leaves %d subnets\n",i,sum[i]); } } if(flag==0) printf(" No SPF nodes\n"); printf("\n");} return 0;}
- POJ 1523 割点
- poj 1523 割点
- POJ 1523 割点
- [割点] poj 1523 SPF
- poj 1523 割点分块
- POJ-1523 SPF 割点
- 【POJ】1523 SPF 割点
- POJ - 1523 SPF(割点)
- POJ--1523 SPF(割点)
- POJ 1523 SPF【割点】
- POJ 1523 SPF 割点
- POJ 1523 SPF 割边与割点
- POJ 1523 SPF(割点所割连通分量数)
- POJ 1523 SPF(割点所割连通分量数)
- POJ 1523 SPF(割点所割连通分量数)
- POJ 1523 SPF (割点)
- Poj 1523 SPF(割点 + tarjan算法)
- TOJ 2018 POJ 1523 SPF / 割点
- swing显示gif图片
- 前缀表达式的计算
- 编程基础(2)
- 第1计 “瞒天过海”
- SSH的各种异常
- poj 1523 割点
- 序章:企业潜规则认知
- 第一章:快乐的老青蛙
- Hadoop---在window下的安装配置----基于cygwin的
- 第二章:泥潭中的群体
- 第三章:权力与爱情
- Tomcat 工作原理
- HBase技术介绍
- 胡萝卜的故事 开篇