Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.85 KB | None | 0 0
  1. package Advent2019;
  2.  
  3. import graph.SearchType;
  4. import graph.UGraph;
  5. import util.AdventOfCode;
  6.  
  7. import java.util.List;
  8.  
  9. public class Day6 extends AdventOfCode {
  10.  
  11.     UGraph<String> graph;
  12.  
  13.     public Day6(List<String> input) {
  14.         super(input);
  15.     }
  16.  
  17.     @Override
  18.     public Object part1() {
  19.         return graph.getVertices().stream()
  20.                 .mapToInt(x -> graph.search(x, "COM", SearchType.BFS).size() - 1)
  21.                 .sum();
  22.     }
  23.  
  24.     @Override
  25.     public Object part2() {
  26.         return graph.search("YOU", "SAN", SearchType.BFS).size() - 3;
  27.     }
  28.  
  29.     @Override
  30.     public void parse() {
  31.         graph = new UGraph<>();
  32.         for (String each : input) {
  33.             String parent = each.substring(0, 3);
  34.             String child = each.substring(4);
  35.             graph.addEdge(child, parent);
  36.         }
  37.     }
  38.  
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement