import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scanner=new Scanner(System.in); while(scanner.hasNext()) { int n=scanner.nextInt(); int m=scanner.nextInt(); List<int[]> list=new LinkedList<>(); for(int i=0;i<m;i++) { int[] l=new int[3]; l[0]=scanner.nextInt(); l[1]=scanner.nextInt(); l[2]=scanner.nextInt(); list.add(l); } Main main=new Main(); for(int i=0;i<list.size();i++) { if(list.get(i)[0]==1) { main.dfs(i, n, list, list.get(i)[2]); } } if(main.min.size()==0) { System.out.println(-1); } else { Collections.sort(main.min); System.out.println(main.min.get(0)); } } } private List<Integer> min=new ArrayList<>(); public void dfs(int pre,int n,List<int[]> list,int dis) { if(list.get(pre)[1]==n) { min.add(dis); } else { for(int i=0;i<list.size();i++) { if(list.get(pre)[1]==list.get(i)[0]) { dfs(i,n,list,dis+list.get(i)[2]); } } } } } |
Double click to view unformatted code.