import java.util.*; public class Main { static ArrayList<Integer>[] list; static boolean flag = false; static int [] v; public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int m = in.nextInt(); list = new ArrayList[n+1]; for(int i=0;i<=n;i++){ list[i] = new ArrayList<>(); } for(int i=0;i<m;i++){ int x = in.nextInt(); int y = in.nextInt(); list[x].add(y); list[y].add(x); } int x = in.nextInt();int y = in.nextInt(); v = new int[n+1]; v[x] = 1; dfs(x,y,-1,v); if(!flag){ System.out.println(-1); } else{ v = new int[n+1]; int res =0; for(int i=1;i<=n;i++){ if(i==x||i==y||list[i].size()==0){ continue; } v = new int[n+1]; v[x] = 1; flag = false; dfs(x,y,i,v); if(!flag){ res++; } } System.out.println(res); } } public static void dfs(int s,int t,int i,int[]v){ if(s==t){ flag = true; return ; } for(int x:list[s]){ if(x==i||v[x]==1){ continue; } v[x] = 1; dfs(x,t,i,v); } } }
蓝桥杯真题--危险系数
最新推荐文章于 2024-08-15 21:44:48 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)