/** * CS3100 - Fall 2024 - Programming Assignment 1 ********************************* * Collaboration Policy: You may discuss the problem and the overall * strategy with up to 4 other students, but you MUST list those people * in your submission under collaborators. You may NOT share code, * look at others' code, or help others debug their code. Please read * the syllabus carefully around coding. Do not seek published or online * solutions for any assignments. If you use any published or online resources * (which may not include solutions) when completing this assignment, be sure to * cite them. Do not submit a solution that you are unable to explain orally to a * member of the course staff. **************************************/ import java.io.BufferedReader; import java.io.FileReader; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { int numCities = 0; int start = 0; int end = 0; List<String> capacities = new ArrayList<>(); List<String> loads = new ArrayList<>(); int i = 0; try (BufferedReader br = new BufferedReader(new FileReader("example.txt"))) { String line; boolean capacitiesDone = false; while ((line = br.readLine()) != null) { if (i == 0) numCities = Integer.parseInt(line); else if (i == 1) start = Integer.parseInt(line); else if (i == 2) end = Integer.parseInt(line); else if (line.equals("---")) capacitiesDone = true; else if (!capacitiesDone) capacities.add(line.trim()); else loads.add(line.trim()); i++; } // Call method and print the result Long startT = System.currentTimeMillis(); FedUps f = new FedUps(); List<Integer> output = f.compute(numCities, capacities, loads, start, end); Long endT = System.currentTimeMillis(); for (Integer city : output) System.out.println(city); System.out.println("time: " + ((endT - startT) / 1000.0)); } catch (Exception e) { e.printStackTrace(); System.err.println("Error occurred when reading file"); } } }