In this problem, we will be writing our own graph search algorithm.

It is the year 3000 and the greedy government has added tolls to all the roads! You are trying to get to GSU to take Professor Kumar's exam, but don't want to spend a lot of money on these silly tolls. You are leaving quite early in the morning, so time is not a concern.

There are up to 8 possible tolls, but you don't need to visit all 8. You just need to get to toll H as it is the closest one to GSU. You will always start at toll A.

When reading the input, the first line will be the number of edges. Each edge would come on its own line, in the format of Start End Toll.

Expected Output is the minimum number of dollars required for the trip.

I have written the input/output writing code for you. You can rewrite it if you'd like, but you do not need to.

Your findCheapestPath function is given a List> as input. This could look like

List[0] = ["A", "B", "3"];

List[1] = ["A", "C", "4"];

List[2] = ["C", "H", "2"];

List[3] = ["B", "H", "9"];

A good step one would be to use this input list to create some nodes and edges, and then write some kind of search to find your end node! Good luck!

Input Format

4

A B 3

A C 4

C H 2

B H 9

Constraints

You may use use imports from java.util.*. You can assume there are no infinite loops, and that, the graph is finite (At most 8 tolls). There will also always be a path from A to H. If you are unable to write the code to find the smallest path, consider just finding a path that has weight less than 10. This will give you a large majority of the points (most of the test cases!). Hint: All of the repl.its have been left up!

Output Format

6

Sample Input 0

4

A B 3

A C 4

C H 2

B H 9

Sample Output 0

6

Explanation 0

The graph is of A, B, C, H. A points to B and C, with weights 3 and 4 respectively. C and B point to H, with weights 2 and 9 respectively. Shortest path from A-H would be A-C (4) + C-H(2) = 6.

//Code to start from

import java.io.*;

import java.math.*;

import java.security.*;

import java.text.*;

import java.util.*;

import java.util.concurrent.*;

import java.util.regex.*;

class Result {

/*

* Complete the 'findCheapestPath' function below.

*

* The function is expected to return an INTEGER.

* The function accepts 2D_STRING_ARRAY edges as parameter.

*/

public static int findCheapestPath(List<List> edges) {

// Write your code here

}

}

public class Solution {

public static void main(String[] args) throws IOException {

BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));

int n = Integer.parseInt(bufferedReader.readLine().trim());

List<List> arr = new ArrayList<>();

for (int i = 0; i < n; i++) {

arr.add(Arrays.asList(bufferedReader.readLine().replaceAll("\s+$", "").split(" ")));

}

int result = Result.findCheapestPath(arr);

bufferedWriter.write(String.valueOf(result));

bufferedWriter.newLine();

bufferedReader.close();

bufferedWriter.close();

}

}

CS 340 Milestone One Guidelines and Rubric Overview: For this assignment, you will implement the fundamental operations of create, read, update,

Retail Transaction Programming Project Project Requirements: Develop a program to emulate a purchase transaction at a retail store. This

7COM1028 Secure Systems Programming Referral Coursework: Secure

Create a GUI program that:Accepts the following from a user:Item NameItem QuantityItem PriceAllows the user to create a file to store the sales receip

CS 340 Final Project Guidelines and Rubric Overview The final project will encompass developing a web service using a software stack and impleme