View Code of Problem 3818

import java.util.*;
public class Main {
	public static int min=Integer.MAX_VALUE;
	public static void main(String[] args) {
		// TODO Auto-generated method stub
   Scanner in=new Scanner(System.in);
   while(in.hasNext()) 
   {
	   int n=in.nextInt();
	   int m=in.nextInt();
	   int k=in.nextInt();
	   int [][]way=new int[n+1][n+1];
	   for(int i=0;i<m;i++) 
	   {
		   int a=in.nextInt();
		   int b=in.nextInt();
		   int l=in.nextInt();
		   way[a][b]=l;
		   way[b][a]=l;
	   }
	   for(int i=0;i<k;i++) 
	   {
		   int start=in.nextInt();
		   int end=in.nextInt();
		   System.out.println(dfs(way,start,end,0));
		   min=Integer.MAX_VALUE;
	   }
   }
	}
public static int dfs(int[][]way,int start,int end,int len) 
{
	
	if(start==end) 
	{
		return len;
	}else 
	{
		
		for(int i=1;i<way[start].length;i++) 
		{
			int result=0;
			if(way[start][i]==0) 
			{
			  continue;
			}else 
			{
				int l=way[start][i];
				way[start][i]=0;
				way[i][start]=0;
				 result=dfs(way,i,end,l+len);
				way[start][i]=l;
				way[i][start]=l;
				if(min>result) 
				{
					min=result;
				}
			}
		}
	return min;	
	}
}
}

Double click to view unformatted code.


Back to problem 3818