Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.advent.of.code.y2022;
- import java.util.Scanner;
- public class Line10 {
- public static void main(String[] args) {
- solution();
- }
- private static void solution() {
- String test = """
- addx 15
- addx -11
- addx 6
- addx -3
- addx 5
- addx -1
- addx -8
- addx 13
- addx 4
- noop
- addx -1
- addx 5
- addx -1
- addx 5
- addx -1
- addx 5
- addx -1
- addx 5
- addx -1
- addx -35
- addx 1
- addx 24
- addx -19
- addx 1
- addx 16
- addx -11
- noop
- noop
- addx 21
- addx -15
- noop
- noop
- addx -3
- addx 9
- addx 1
- addx -3
- addx 8
- addx 1
- addx 5
- noop
- noop
- noop
- noop
- noop
- addx -36
- noop
- addx 1
- addx 7
- noop
- noop
- noop
- addx 2
- addx 6
- noop
- noop
- noop
- noop
- noop
- addx 1
- noop
- noop
- addx 7
- addx 1
- noop
- addx -13
- addx 13
- addx 7
- noop
- addx 1
- addx -33
- noop
- noop
- noop
- addx 2
- noop
- noop
- noop
- addx 8
- noop
- addx -1
- addx 2
- addx 1
- noop
- addx 17
- addx -9
- addx 1
- addx 1
- addx -3
- addx 11
- noop
- noop
- addx 1
- noop
- addx 1
- noop
- noop
- addx -13
- addx -19
- addx 1
- addx 3
- addx 26
- addx -30
- addx 12
- addx -1
- addx 3
- addx 1
- noop
- noop
- noop
- addx -9
- addx 18
- addx 1
- addx 2
- noop
- noop
- addx 9
- noop
- noop
- noop
- addx -1
- addx 2
- addx -37
- addx 1
- addx 3
- noop
- addx 15
- addx -21
- addx 22
- addx -6
- addx 1
- noop
- addx 2
- addx 1
- noop
- addx -10
- noop
- noop
- addx 20
- addx 1
- addx 2
- addx 2
- addx -6
- addx -11
- noop
- noop
- noop
- """;
- // data = test;
- System.out.println();
- String line = "";
- long total = 0;
- long FREQ = 0;
- long X = 1;
- long phase = 0;
- long op = 0;
- Scanner in = new Scanner(data);
- while (in.hasNext()) {
- // задание 1
- if (phase % 20 == 0 && phase >= 20 && (phase - 20) % 40 == 0) {
- FREQ = phase * X;
- // System.out.printf("Phase: %d x %d (%d)%n", phase, X, FREQ);
- total += FREQ;
- }
- //--- 1
- X += op;
- op = 0;
- if (in.hasNextLong()) {
- op = in.nextLong();
- // System.out.println(op);
- } else {
- String t = in.next();
- // System.out.print(t + " ");
- }
- // задание 2
- String s = ".";
- if (phase % 40 >= (X - 1) % 40 && phase % 40 <= (X + 1) % 40) s = "#";
- line += s;
- if ((phase + 1) % 40 == 0) {
- System.out.println(line);
- line = "";
- }
- //--- 2
- phase++;
- }
- System.out.println(" === " + total);
- }
- private static String data = """
- noop
- addx 26
- addx -21
- addx 2
- addx 3
- noop
- noop
- addx 23
- addx -17
- addx -1
- noop
- noop
- addx 7
- noop
- addx 3
- addx 1
- noop
- noop
- addx 2
- noop
- addx 7
- noop
- addx -12
- addx 13
- addx -38
- addx 5
- addx 34
- addx -2
- addx -29
- addx 2
- addx 5
- addx 2
- addx 3
- addx -2
- addx -1
- addx 8
- addx 2
- addx 6
- addx -26
- addx 23
- addx -26
- addx 33
- addx 2
- addx -37
- addx -1
- addx 1
- noop
- noop
- noop
- addx 5
- addx 5
- addx 3
- addx -2
- addx 2
- addx 5
- addx 5
- noop
- noop
- addx -2
- addx 4
- noop
- noop
- noop
- addx 3
- noop
- noop
- addx 7
- addx -1
- addx -35
- addx -1
- addx 5
- addx 3
- noop
- addx 4
- noop
- noop
- noop
- noop
- noop
- addx 5
- addx 1
- noop
- noop
- noop
- addx -7
- addx 12
- addx 2
- addx 7
- noop
- addx -2
- noop
- noop
- addx 7
- addx 2
- addx -39
- noop
- noop
- addx 5
- addx 2
- addx -4
- addx 25
- addx -18
- addx 7
- noop
- addx -2
- addx 5
- addx 2
- addx 6
- addx -5
- addx 2
- addx -22
- addx 29
- addx -21
- addx -7
- addx 31
- addx 2
- noop
- addx -36
- addx 1
- addx 5
- noop
- addx 1
- addx 4
- addx 5
- noop
- noop
- noop
- addx 3
- noop
- addx -13
- addx 15
- noop
- addx 5
- noop
- addx 1
- noop
- addx 3
- addx 2
- addx 4
- addx 3
- noop
- addx -3
- noop
- """;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement