求割点
来源:互联网 发布:超牛数据恢复软件官网 编辑:程序博客网 时间:2024/06/06 23:56
package com.bluecup.org;import java.util.Iterator;import java.util.Scanner;import java.util.TreeSet;public class CutPoint {/** * @param args */static int n;static TreeSet<Integer>[] sets = new TreeSet[20];static boolean used[] = new boolean[20];static int low[] = new int[20];static int dfn[] = new int[20];public static void main(String[] args) {// TODO Auto-generated method stubScanner scan = new Scanner(System.in);n = scan.nextInt();for (int i = 1; i <= n; i++) {sets[i] = new TreeSet<Integer>();}int i;do {i = scan.nextInt();int j = scan.nextInt();if (i > 0) {sets[i].add(j);sets[j].add(i);}} while (i != 0);dfn(1);int value=0;for(int ii=1;ii<=n;ii++){if(flag[ii]==1){value++;System.out.println(ii);}}}static int times;static int flag[]=new int[20];private static void dfn(int v) {// TODO Auto-generated method stubtimes++;dfn[v] = low[v] = times;int count=0;//System.out.println(sets[v].size());used[v] = true;int size = sets[v].size();Iterator<Integer> it=sets[v].iterator();for (int i = 0; i < size; i++) {int w = it.next();if (used[w] == false) {count++;dfn(w);low[v]=Math.min(low[v],low[w]);if(v==1&&count>=2){flag[v]=1;}if(v!=1&&low[w]>=dfn[v])flag[v]=1;}else if(w!=v){low[v]=Math.min(low[v], dfn[w]);}}}}
0 0
- 求割点
- 求割点
- 求割点
- 求割点
- 求割点
- 求割点
- 求割点
- POJ1523求割点
- 求割点个数
- tarjan求割点
- 求割点模版
- lightoj1063【求割点】
- Tarjan求割点
- Tarjan求割点
- UVA 315 Network 求割点、套版题 求割点
- POJ 1523 SPF //求割点
- POJ1144 Network 求割点
- tarjan求割点 poj 1144
- 中国34个省未来发展趋势深度分析
- ubuntu下安装maven
- 【Java源码】TreeMap类
- Linux下动态库(.so)和静态库(.a)
- 《UNIX网络编程》例子程序中所使用的包裹函数及部分常量
- 求割点
- 面试题
- Struts2(传智播客笔记1)
- Listener监听器
- Linux下面signal处理
- 决策树分析
- 配置mahout
- C++静态成员应该注意的问题
- java动态代理(JDK和cglib)