危险系数
来源:互联网 发布:js 点击保存图片 编辑:程序博客网 时间:2024/04/30 06:17
import java.util.ArrayList;import java.util.Scanner;public class DangerousRatio {/** * 思路:令每个节点记录前一个节点,并找到所有割点,然后从最后一个点向前寻找,如果是割点,则+1 */private static int n,m,num[],min[],pre[],targetX,targetY,count=1;private static DangerNode[] nodes;public static void main(String[] args) {// TODO 自动生成的方法存根int time=0,a,b;Scanner read=new Scanner(System.in);String str=read.nextLine();String strr[]=str.split(" ");n=Integer.valueOf(strr[0]);m=Integer.valueOf(strr[1]);nodes=new DangerNode[n];while(time<m){str=read.nextLine();strr=str.split(" ");a=Integer.valueOf(strr[0]);b=Integer.valueOf(strr[1]);if(nodes[a-1]==null){nodes[a-1]=new DangerNode();}if(nodes[b-1]==null){nodes[b-1]=new DangerNode();}nodes[a-1].add(b-1);nodes[b-1].add(a-1);time++;}str=read.nextLine();strr=str.split(" ");targetX=Integer.valueOf(strr[0])-1;targetY=Integer.valueOf(strr[1])-1;dfs(targetX);getdfs(targetY);}private static void getdfs(int targetY2) {// TODO 自动生成的方法存根int pre=nodes[targetY].pre,num=0,cur=targetY2;while(pre>=0){if(pre==targetX){System.out.println(num);return;}//如果是割点,并且是给出的两个点之间的割点,则+1if(nodes[pre].point==true&&nodes[cur].min>=nodes[pre].cur){num++;}cur=pre;pre=nodes[pre].pre;}if(num==0){System.out.println(-1);}}private static void dfs(int pos) {// TODO 自动生成的方法存根int next;nodes[pos].cur=count++;nodes[pos].min=nodes[pos].cur;nodes[pos].known=true;for(int i=0;i<nodes[pos].list.size();i++){next=nodes[pos].get(i);if(nodes[next].known==false){nodes[next].pre=pos;dfs(next);nodes[pos].min=Math.min(nodes[pos].min, nodes[next].min);if(nodes[pos].cur<=nodes[next].min){nodes[pos].point=true;}}else if(nodes[pos].pre!=next){nodes[pos].min=Math.min(nodes[pos].min, nodes[next].cur);}}}}class DangerNode{int vex,cur,pre=-1,min;boolean known=false,point=false;ArrayList<Integer> list;public DangerNode(){list=new ArrayList<Integer>();}public void add(int e){list.add(e);}public int get(int pos){return list.get(pos);}}
阅读全文
0 0
- 危险系数
- 危险系数
- 危险系数
- 历届试题 危险系数
- 历届试题 危险系数
- 【蓝桥杯】危险系数
- 蓝桥杯-危险系数
- 蓝桥杯PREV_12危险系数
- 危险系数 割点
- 蓝桥杯--危险系数
- 蓝桥杯 危险系数
- 蓝桥杯 危险系数
- 蓝桥杯 危险系数 DFS
- 危险系数---深搜
- 危险系数题解
- 割点-危险系数
- 蓝桥杯 危险系数
- 搜索题-危险系数
- 博弈知识汇总
- 单独管理image
- LintCode#80FindMedian(利用快排找中位数)
- 正册表达式匹配文件名
- 计算机跟学习板通信
- 危险系数
- ZigBee_CC2530_08H_HAL层分析
- ES6(八) 对象的扩展
- 使用spring task或spring quartz执行任务执行两次
- Socket编程(ServerScoket, Socket) 回声例子
- Android
- Java I/O关于缓冲区部分提高性能的源码分析【Stream】
- mac 安装python虚拟环境,多版本共存
- (转载)Linux内核源代码情景分析---第四章 进程与进程调度