View Code of Problem 3830


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.


Back to problem 3830