import java.util.ArrayList; 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()) { List<LR> list=new ArrayList<>(); int n=scanner.nextInt(); int m=scanner.nextInt(); for(int i=0;i<m;i++) { Main.LR lr=new Main().new LR(scanner.nextInt(),scanner.nextInt(),scanner.nextInt()); list.add(lr); } Main main=new Main(); main.bracktrack(0, n, list, list.get(0).w); if(main.min==0) { System.out.println("-1"); } else { System.out.println(main.min); } main.min=0; } } private int min=0; public void bracktrack(int start,int end,List<LR> list,int dis) { if(list.get(start).v==end) { if(min==0||min>dis) { min=dis; } } else { for(int i=0;i<list.size();i++) { if(list.get(i).u==list.get(start).v) { bracktrack(i,end,list,dis+list.get(i).w); } } } } class LR{ int u; int v; int w; LR(int u,int v,int w){ this.u=u; this.v=v; this.w=w; } } } |
Double click to view unformatted code.