Refactoring, Added day5
This commit is contained in:
parent
e72cca67c5
commit
3ee0f5b06b
114
src/day5/1.rs
Normal file
114
src/day5/1.rs
Normal file
|
@ -0,0 +1,114 @@
|
|||
#![feature(test)]
|
||||
extern crate test;
|
||||
|
||||
const INPUTS: [&str; 2] = [include_str!("./sample.txt"), include_str!("./input.txt")];
|
||||
|
||||
#[derive(Debug)]
|
||||
struct Stack {
|
||||
stacks: Vec<Vec<char>>,
|
||||
instructions: Vec<Instruction>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
struct Instruction {
|
||||
count: usize,
|
||||
from: usize,
|
||||
to: usize,
|
||||
}
|
||||
|
||||
fn parse(input: &'static str) -> Stack {
|
||||
let mut v = input.split("\n\n");
|
||||
|
||||
let mut stack_input = v
|
||||
.next()
|
||||
.unwrap()
|
||||
.lines()
|
||||
.map(|c| c.chars().collect::<Vec<char>>())
|
||||
.rev();
|
||||
let mut stacks: Vec<Vec<char>> = vec![];
|
||||
|
||||
let stack_names = stack_input.next().unwrap();
|
||||
|
||||
let containers: Vec<Vec<char>> = stack_input.collect();
|
||||
|
||||
for (i, v) in stack_names.into_iter().enumerate() {
|
||||
if v == ' ' {
|
||||
continue;
|
||||
}
|
||||
let v: usize = (v as u8 - b'0') as usize;
|
||||
|
||||
if stacks.len() <= v - 1 {
|
||||
stacks.push(vec![]);
|
||||
}
|
||||
|
||||
for container in containers.iter() {
|
||||
if container[i] == ' ' {
|
||||
continue;
|
||||
}
|
||||
stacks[v - 1].push(container[i]);
|
||||
}
|
||||
}
|
||||
|
||||
let instructions: Vec<Instruction> = v
|
||||
.next()
|
||||
.unwrap()
|
||||
.lines()
|
||||
.map(|line: &str| {
|
||||
let line: String = line
|
||||
.chars()
|
||||
.filter(|c| c.is_numeric() | c.is_whitespace())
|
||||
.collect();
|
||||
|
||||
let numbers: Vec<u8> = line
|
||||
.split(' ')
|
||||
.filter(|c| !c.is_empty())
|
||||
.map(|c| c.parse::<u8>().unwrap())
|
||||
.collect();
|
||||
|
||||
Instruction {
|
||||
count: numbers[0] as usize,
|
||||
from: numbers[1] as usize,
|
||||
to: numbers[2] as usize,
|
||||
}
|
||||
})
|
||||
.collect();
|
||||
|
||||
Stack {
|
||||
instructions,
|
||||
stacks,
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
for input in INPUTS.iter() {
|
||||
let output = parse(input);
|
||||
let score = solution(output);
|
||||
|
||||
println!("{}", score);
|
||||
}
|
||||
}
|
||||
|
||||
fn solution(mut input: Stack) -> String {
|
||||
for ins in input.instructions {
|
||||
for _ in 0..ins.count {
|
||||
if let Some(v) = input.stacks[ins.from - 1].pop() {
|
||||
input.stacks[ins.to - 1].push(v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input
|
||||
.stacks
|
||||
.into_iter()
|
||||
.map(|c| *c.last().unwrap())
|
||||
.collect()
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn solution_bench(b: &mut test::Bencher) {
|
||||
b.iter(|| {
|
||||
let input = parse(INPUTS[1]);
|
||||
let result = solution(input);
|
||||
test::black_box(result);
|
||||
})
|
||||
}
|
146
src/day5/2.rs
Normal file
146
src/day5/2.rs
Normal file
|
@ -0,0 +1,146 @@
|
|||
#![feature(test)]
|
||||
extern crate test;
|
||||
|
||||
const INPUTS: [&[u8]; 2] = [
|
||||
include_bytes!("./sample.txt"),
|
||||
include_bytes!("./input.txt"),
|
||||
];
|
||||
|
||||
#[derive(Debug)]
|
||||
struct Stack {
|
||||
stacks: Vec<Vec<u8>>,
|
||||
instructions: Vec<Instruction>,
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
struct Instruction {
|
||||
count: usize,
|
||||
from: usize,
|
||||
to: usize,
|
||||
}
|
||||
|
||||
fn parse(input: &[u8]) -> Stack {
|
||||
let mut stacks = vec![];
|
||||
|
||||
let mut input = input.splitn(2, |&c| c == b'\n');
|
||||
let mut line = input.next().unwrap();
|
||||
let mut rest = input.next().unwrap();
|
||||
|
||||
while rest[0] != b'\n' {
|
||||
let mut i = 1;
|
||||
|
||||
while (3 * (i - 1) + i) < line.len() {
|
||||
if stacks.len() < i {
|
||||
stacks.push(vec![]);
|
||||
}
|
||||
|
||||
if (b'A'..=b'Z').contains(&line[3 * (i - 1) + i]) {
|
||||
stacks[i - 1].push(line[3 * (i - 1) + i]);
|
||||
}
|
||||
|
||||
i += 1;
|
||||
}
|
||||
|
||||
let mut temp = rest.splitn(2, |&c| c == b'\n');
|
||||
line = temp.next().unwrap();
|
||||
rest = temp.next().unwrap();
|
||||
}
|
||||
rest = &rest[1..];
|
||||
let stacks: Vec<Vec<u8>> = stacks
|
||||
.into_iter()
|
||||
.map(|c| c.into_iter().rev().collect())
|
||||
.collect();
|
||||
|
||||
let mut input = rest.splitn(2, |&c| c == b'\n');
|
||||
let mut line = input.next();
|
||||
let mut rest = input.next();
|
||||
|
||||
let mut instructions = vec![];
|
||||
|
||||
while let Some(l) = line {
|
||||
let mut output = vec![];
|
||||
for &c in l
|
||||
.iter()
|
||||
.filter(|&c| (b'0'..=b'9').contains(c) || c == &b' ')
|
||||
{
|
||||
if c == b' ' && output.last().map_or(true, |&c| c == b' ') {
|
||||
continue;
|
||||
}
|
||||
output.push(c);
|
||||
}
|
||||
|
||||
if output.is_empty() {
|
||||
break;
|
||||
}
|
||||
|
||||
let mut input = output.splitn(2, |&c| c == b' ');
|
||||
let e1 = input.next().map_or(0, |c| {
|
||||
c.get(1)
|
||||
.map_or(c[0] - b'0', |a| (c[0] - b'0') * 10 + a - b'0')
|
||||
});
|
||||
let mut input = input.next().unwrap().splitn(2, |&c| c == b' ');
|
||||
let e2 = input.next().map_or(0, |c| {
|
||||
c.get(1)
|
||||
.map_or(c[0] - b'0', |a| (c[0] - b'0') * 10 + a - b'0')
|
||||
});
|
||||
let e3 = input.next().map_or(0, |c| {
|
||||
c.get(1)
|
||||
.map_or(c[0] - b'0', |a| (c[0] - b'0') * 10 + a - b'0')
|
||||
});
|
||||
|
||||
instructions.push(Instruction {
|
||||
count: e1 as usize,
|
||||
from: e2 as usize,
|
||||
to: e3 as usize,
|
||||
});
|
||||
|
||||
if let Some(r) = rest {
|
||||
let mut input = r.splitn(2, |&c| c == b'\n');
|
||||
line = input.next();
|
||||
rest = input.next();
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Stack {
|
||||
instructions,
|
||||
stacks,
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
for input in INPUTS.iter() {
|
||||
let output = parse(input);
|
||||
let score = solution(output);
|
||||
|
||||
println!("{}", score);
|
||||
}
|
||||
}
|
||||
|
||||
fn solution(mut input: Stack) -> String {
|
||||
for ins in input.instructions {
|
||||
let l = input.stacks[ins.from - 1].len();
|
||||
|
||||
let crates = input.stacks[ins.from - 1].split_off(l.saturating_sub(ins.count));
|
||||
|
||||
input.stacks[ins.to - 1].extend(crates);
|
||||
}
|
||||
|
||||
input
|
||||
.stacks
|
||||
.into_iter()
|
||||
.filter(|c| !c.is_empty())
|
||||
.map(|c| *c.last().unwrap())
|
||||
.map(|c| c as char)
|
||||
.collect()
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn solution_bench(b: &mut test::Bencher) {
|
||||
b.iter(|| {
|
||||
let input = parse(INPUTS[1]);
|
||||
let result = solution(input);
|
||||
test::black_box(result);
|
||||
})
|
||||
}
|
516
src/day5/input.txt
Normal file
516
src/day5/input.txt
Normal file
|
@ -0,0 +1,516 @@
|
|||
[G] [D] [Q]
|
||||
[P] [T] [L] [M] [Z]
|
||||
[Z] [Z] [C] [Z] [G] [W]
|
||||
[M] [B] [F] [P] [C] [H] [N]
|
||||
[T] [S] [R] [H] [W] [R] [L] [W]
|
||||
[R] [T] [Q] [Z] [R] [S] [Z] [F] [P]
|
||||
[C] [N] [H] [R] [N] [H] [D] [J] [Q]
|
||||
[N] [D] [M] [G] [Z] [F] [W] [S] [S]
|
||||
1 2 3 4 5 6 7 8 9
|
||||
|
||||
move 7 from 6 to 8
|
||||
move 5 from 2 to 6
|
||||
move 2 from 4 to 1
|
||||
move 1 from 4 to 5
|
||||
move 5 from 7 to 6
|
||||
move 7 from 6 to 3
|
||||
move 5 from 9 to 2
|
||||
move 6 from 2 to 3
|
||||
move 2 from 7 to 9
|
||||
move 20 from 3 to 1
|
||||
move 11 from 1 to 6
|
||||
move 1 from 9 to 8
|
||||
move 3 from 8 to 2
|
||||
move 8 from 1 to 5
|
||||
move 10 from 8 to 4
|
||||
move 7 from 6 to 4
|
||||
move 1 from 8 to 3
|
||||
move 8 from 1 to 7
|
||||
move 16 from 4 to 8
|
||||
move 1 from 9 to 8
|
||||
move 1 from 5 to 2
|
||||
move 4 from 7 to 4
|
||||
move 5 from 6 to 7
|
||||
move 1 from 6 to 1
|
||||
move 8 from 7 to 4
|
||||
move 1 from 6 to 9
|
||||
move 12 from 4 to 5
|
||||
move 3 from 2 to 5
|
||||
move 1 from 6 to 2
|
||||
move 1 from 3 to 7
|
||||
move 1 from 3 to 2
|
||||
move 1 from 9 to 3
|
||||
move 1 from 7 to 8
|
||||
move 1 from 7 to 5
|
||||
move 1 from 3 to 2
|
||||
move 4 from 5 to 7
|
||||
move 5 from 5 to 7
|
||||
move 1 from 4 to 3
|
||||
move 1 from 3 to 9
|
||||
move 3 from 1 to 8
|
||||
move 1 from 9 to 1
|
||||
move 2 from 2 to 1
|
||||
move 2 from 2 to 7
|
||||
move 8 from 8 to 1
|
||||
move 3 from 5 to 2
|
||||
move 8 from 7 to 5
|
||||
move 7 from 1 to 3
|
||||
move 3 from 1 to 7
|
||||
move 1 from 1 to 5
|
||||
move 1 from 3 to 7
|
||||
move 7 from 5 to 8
|
||||
move 2 from 2 to 8
|
||||
move 1 from 3 to 2
|
||||
move 1 from 2 to 4
|
||||
move 1 from 4 to 8
|
||||
move 13 from 8 to 1
|
||||
move 13 from 5 to 9
|
||||
move 2 from 5 to 2
|
||||
move 7 from 9 to 3
|
||||
move 12 from 8 to 3
|
||||
move 4 from 9 to 3
|
||||
move 1 from 3 to 4
|
||||
move 2 from 2 to 3
|
||||
move 1 from 1 to 6
|
||||
move 1 from 2 to 3
|
||||
move 1 from 5 to 9
|
||||
move 7 from 7 to 4
|
||||
move 10 from 1 to 8
|
||||
move 1 from 1 to 4
|
||||
move 1 from 9 to 5
|
||||
move 2 from 5 to 1
|
||||
move 1 from 6 to 5
|
||||
move 3 from 8 to 9
|
||||
move 5 from 4 to 3
|
||||
move 4 from 4 to 1
|
||||
move 7 from 1 to 6
|
||||
move 2 from 5 to 7
|
||||
move 35 from 3 to 4
|
||||
move 4 from 9 to 1
|
||||
move 19 from 4 to 8
|
||||
move 1 from 7 to 6
|
||||
move 1 from 9 to 2
|
||||
move 10 from 4 to 5
|
||||
move 2 from 4 to 7
|
||||
move 3 from 4 to 3
|
||||
move 1 from 2 to 8
|
||||
move 1 from 1 to 9
|
||||
move 3 from 3 to 6
|
||||
move 4 from 8 to 6
|
||||
move 4 from 5 to 2
|
||||
move 2 from 8 to 3
|
||||
move 3 from 5 to 9
|
||||
move 12 from 6 to 1
|
||||
move 8 from 8 to 6
|
||||
move 2 from 9 to 1
|
||||
move 1 from 4 to 1
|
||||
move 1 from 3 to 8
|
||||
move 3 from 7 to 8
|
||||
move 2 from 9 to 7
|
||||
move 1 from 6 to 7
|
||||
move 10 from 6 to 8
|
||||
move 4 from 2 to 5
|
||||
move 1 from 3 to 7
|
||||
move 7 from 5 to 7
|
||||
move 13 from 8 to 1
|
||||
move 29 from 1 to 4
|
||||
move 8 from 7 to 8
|
||||
move 1 from 1 to 3
|
||||
move 3 from 7 to 6
|
||||
move 1 from 1 to 9
|
||||
move 15 from 4 to 1
|
||||
move 1 from 3 to 6
|
||||
move 10 from 1 to 6
|
||||
move 10 from 6 to 7
|
||||
move 1 from 4 to 9
|
||||
move 1 from 9 to 1
|
||||
move 1 from 9 to 7
|
||||
move 6 from 7 to 8
|
||||
move 1 from 1 to 6
|
||||
move 5 from 6 to 5
|
||||
move 21 from 8 to 9
|
||||
move 5 from 1 to 9
|
||||
move 2 from 9 to 5
|
||||
move 3 from 5 to 6
|
||||
move 3 from 7 to 9
|
||||
move 4 from 4 to 6
|
||||
move 6 from 8 to 7
|
||||
move 6 from 6 to 3
|
||||
move 2 from 7 to 9
|
||||
move 1 from 7 to 2
|
||||
move 6 from 3 to 2
|
||||
move 1 from 6 to 4
|
||||
move 4 from 5 to 9
|
||||
move 1 from 4 to 5
|
||||
move 9 from 4 to 6
|
||||
move 7 from 6 to 4
|
||||
move 10 from 9 to 2
|
||||
move 5 from 7 to 5
|
||||
move 10 from 2 to 7
|
||||
move 2 from 5 to 4
|
||||
move 2 from 5 to 9
|
||||
move 4 from 9 to 4
|
||||
move 1 from 8 to 6
|
||||
move 7 from 7 to 2
|
||||
move 1 from 5 to 4
|
||||
move 2 from 7 to 1
|
||||
move 1 from 5 to 7
|
||||
move 3 from 6 to 2
|
||||
move 4 from 4 to 5
|
||||
move 1 from 2 to 7
|
||||
move 10 from 4 to 7
|
||||
move 3 from 7 to 3
|
||||
move 17 from 9 to 4
|
||||
move 1 from 1 to 4
|
||||
move 1 from 1 to 5
|
||||
move 5 from 2 to 7
|
||||
move 1 from 9 to 2
|
||||
move 5 from 4 to 8
|
||||
move 2 from 9 to 7
|
||||
move 4 from 8 to 1
|
||||
move 3 from 4 to 8
|
||||
move 1 from 2 to 5
|
||||
move 1 from 9 to 2
|
||||
move 6 from 4 to 8
|
||||
move 3 from 7 to 5
|
||||
move 1 from 4 to 9
|
||||
move 1 from 9 to 1
|
||||
move 3 from 1 to 9
|
||||
move 4 from 8 to 5
|
||||
move 2 from 9 to 8
|
||||
move 4 from 2 to 5
|
||||
move 8 from 7 to 2
|
||||
move 5 from 8 to 5
|
||||
move 2 from 7 to 8
|
||||
move 1 from 3 to 5
|
||||
move 1 from 1 to 2
|
||||
move 1 from 1 to 6
|
||||
move 2 from 3 to 6
|
||||
move 5 from 2 to 8
|
||||
move 4 from 7 to 1
|
||||
move 7 from 8 to 5
|
||||
move 1 from 1 to 5
|
||||
move 3 from 8 to 3
|
||||
move 1 from 9 to 3
|
||||
move 7 from 2 to 3
|
||||
move 2 from 2 to 8
|
||||
move 2 from 4 to 8
|
||||
move 1 from 8 to 5
|
||||
move 1 from 1 to 4
|
||||
move 2 from 4 to 7
|
||||
move 2 from 7 to 1
|
||||
move 3 from 2 to 3
|
||||
move 3 from 5 to 2
|
||||
move 1 from 8 to 3
|
||||
move 3 from 3 to 2
|
||||
move 5 from 2 to 1
|
||||
move 17 from 5 to 8
|
||||
move 9 from 8 to 1
|
||||
move 11 from 3 to 5
|
||||
move 8 from 8 to 5
|
||||
move 2 from 8 to 5
|
||||
move 16 from 1 to 4
|
||||
move 13 from 4 to 7
|
||||
move 6 from 5 to 2
|
||||
move 2 from 4 to 8
|
||||
move 5 from 7 to 9
|
||||
move 2 from 1 to 2
|
||||
move 7 from 7 to 1
|
||||
move 1 from 1 to 4
|
||||
move 1 from 9 to 8
|
||||
move 7 from 2 to 8
|
||||
move 1 from 4 to 7
|
||||
move 2 from 9 to 4
|
||||
move 1 from 4 to 1
|
||||
move 1 from 3 to 5
|
||||
move 2 from 9 to 8
|
||||
move 11 from 8 to 7
|
||||
move 2 from 6 to 5
|
||||
move 1 from 6 to 9
|
||||
move 1 from 1 to 9
|
||||
move 1 from 9 to 1
|
||||
move 4 from 1 to 4
|
||||
move 2 from 1 to 8
|
||||
move 1 from 1 to 2
|
||||
move 1 from 9 to 5
|
||||
move 2 from 4 to 3
|
||||
move 2 from 2 to 7
|
||||
move 2 from 3 to 9
|
||||
move 1 from 9 to 1
|
||||
move 1 from 9 to 1
|
||||
move 5 from 5 to 1
|
||||
move 19 from 5 to 6
|
||||
move 5 from 1 to 4
|
||||
move 1 from 2 to 9
|
||||
move 1 from 1 to 3
|
||||
move 7 from 5 to 8
|
||||
move 1 from 3 to 6
|
||||
move 8 from 7 to 3
|
||||
move 7 from 4 to 8
|
||||
move 3 from 8 to 5
|
||||
move 1 from 4 to 1
|
||||
move 1 from 9 to 4
|
||||
move 1 from 4 to 9
|
||||
move 1 from 5 to 2
|
||||
move 2 from 5 to 6
|
||||
move 2 from 8 to 2
|
||||
move 7 from 8 to 1
|
||||
move 1 from 1 to 7
|
||||
move 3 from 6 to 9
|
||||
move 2 from 3 to 2
|
||||
move 1 from 2 to 1
|
||||
move 1 from 8 to 7
|
||||
move 2 from 9 to 6
|
||||
move 2 from 9 to 5
|
||||
move 1 from 5 to 6
|
||||
move 1 from 2 to 8
|
||||
move 2 from 1 to 7
|
||||
move 1 from 4 to 3
|
||||
move 3 from 2 to 5
|
||||
move 7 from 1 to 3
|
||||
move 10 from 3 to 4
|
||||
move 3 from 5 to 4
|
||||
move 1 from 3 to 8
|
||||
move 3 from 3 to 2
|
||||
move 1 from 8 to 1
|
||||
move 1 from 1 to 3
|
||||
move 3 from 8 to 3
|
||||
move 5 from 4 to 6
|
||||
move 1 from 2 to 3
|
||||
move 4 from 6 to 4
|
||||
move 1 from 5 to 7
|
||||
move 4 from 3 to 4
|
||||
move 1 from 2 to 8
|
||||
move 12 from 7 to 6
|
||||
move 1 from 8 to 2
|
||||
move 2 from 2 to 7
|
||||
move 1 from 8 to 4
|
||||
move 23 from 6 to 3
|
||||
move 14 from 3 to 6
|
||||
move 15 from 4 to 6
|
||||
move 1 from 8 to 6
|
||||
move 10 from 3 to 7
|
||||
move 2 from 4 to 2
|
||||
move 11 from 7 to 8
|
||||
move 2 from 2 to 6
|
||||
move 44 from 6 to 9
|
||||
move 21 from 9 to 3
|
||||
move 12 from 3 to 6
|
||||
move 1 from 7 to 4
|
||||
move 1 from 4 to 7
|
||||
move 9 from 3 to 2
|
||||
move 2 from 8 to 6
|
||||
move 3 from 2 to 4
|
||||
move 17 from 9 to 1
|
||||
move 3 from 4 to 6
|
||||
move 2 from 2 to 9
|
||||
move 4 from 9 to 2
|
||||
move 10 from 6 to 9
|
||||
move 1 from 7 to 6
|
||||
move 4 from 9 to 5
|
||||
move 4 from 2 to 4
|
||||
move 14 from 1 to 5
|
||||
move 4 from 4 to 3
|
||||
move 3 from 2 to 9
|
||||
move 9 from 9 to 7
|
||||
move 1 from 2 to 5
|
||||
move 9 from 8 to 5
|
||||
move 8 from 7 to 2
|
||||
move 4 from 3 to 8
|
||||
move 5 from 6 to 2
|
||||
move 3 from 1 to 6
|
||||
move 1 from 7 to 1
|
||||
move 4 from 2 to 4
|
||||
move 3 from 6 to 4
|
||||
move 3 from 8 to 3
|
||||
move 13 from 5 to 2
|
||||
move 2 from 3 to 5
|
||||
move 12 from 5 to 9
|
||||
move 1 from 3 to 5
|
||||
move 1 from 5 to 9
|
||||
move 1 from 8 to 3
|
||||
move 4 from 9 to 5
|
||||
move 6 from 4 to 5
|
||||
move 12 from 9 to 7
|
||||
move 1 from 9 to 3
|
||||
move 1 from 3 to 2
|
||||
move 12 from 5 to 6
|
||||
move 12 from 7 to 2
|
||||
move 1 from 3 to 7
|
||||
move 1 from 4 to 8
|
||||
move 33 from 2 to 8
|
||||
move 1 from 7 to 5
|
||||
move 1 from 1 to 2
|
||||
move 4 from 5 to 4
|
||||
move 3 from 2 to 5
|
||||
move 34 from 8 to 6
|
||||
move 1 from 4 to 3
|
||||
move 1 from 5 to 7
|
||||
move 1 from 7 to 5
|
||||
move 3 from 4 to 9
|
||||
move 2 from 9 to 7
|
||||
move 1 from 9 to 4
|
||||
move 1 from 3 to 7
|
||||
move 1 from 5 to 8
|
||||
move 1 from 5 to 1
|
||||
move 1 from 5 to 7
|
||||
move 1 from 4 to 8
|
||||
move 1 from 1 to 4
|
||||
move 1 from 4 to 2
|
||||
move 3 from 7 to 5
|
||||
move 2 from 8 to 5
|
||||
move 1 from 2 to 8
|
||||
move 4 from 6 to 2
|
||||
move 1 from 8 to 6
|
||||
move 1 from 7 to 9
|
||||
move 29 from 6 to 7
|
||||
move 4 from 2 to 3
|
||||
move 2 from 5 to 8
|
||||
move 1 from 9 to 5
|
||||
move 2 from 8 to 1
|
||||
move 23 from 7 to 5
|
||||
move 2 from 6 to 1
|
||||
move 23 from 5 to 6
|
||||
move 1 from 3 to 6
|
||||
move 4 from 5 to 9
|
||||
move 2 from 1 to 3
|
||||
move 5 from 3 to 8
|
||||
move 2 from 6 to 5
|
||||
move 2 from 1 to 4
|
||||
move 1 from 9 to 8
|
||||
move 1 from 9 to 1
|
||||
move 1 from 4 to 6
|
||||
move 2 from 5 to 6
|
||||
move 6 from 7 to 8
|
||||
move 2 from 9 to 2
|
||||
move 18 from 6 to 5
|
||||
move 21 from 6 to 4
|
||||
move 1 from 1 to 6
|
||||
move 2 from 6 to 7
|
||||
move 2 from 7 to 9
|
||||
move 2 from 2 to 8
|
||||
move 7 from 4 to 3
|
||||
move 12 from 5 to 3
|
||||
move 1 from 9 to 5
|
||||
move 1 from 9 to 4
|
||||
move 6 from 5 to 2
|
||||
move 17 from 3 to 4
|
||||
move 3 from 4 to 3
|
||||
move 1 from 2 to 4
|
||||
move 5 from 2 to 8
|
||||
move 1 from 5 to 8
|
||||
move 19 from 8 to 7
|
||||
move 1 from 3 to 6
|
||||
move 1 from 8 to 4
|
||||
move 1 from 6 to 1
|
||||
move 15 from 4 to 6
|
||||
move 1 from 1 to 4
|
||||
move 3 from 3 to 5
|
||||
move 4 from 6 to 7
|
||||
move 1 from 4 to 7
|
||||
move 10 from 6 to 7
|
||||
move 16 from 4 to 5
|
||||
move 24 from 7 to 2
|
||||
move 8 from 7 to 8
|
||||
move 1 from 4 to 2
|
||||
move 6 from 8 to 7
|
||||
move 1 from 8 to 7
|
||||
move 1 from 6 to 9
|
||||
move 14 from 5 to 4
|
||||
move 9 from 7 to 8
|
||||
move 4 from 5 to 1
|
||||
move 2 from 1 to 5
|
||||
move 3 from 8 to 6
|
||||
move 2 from 6 to 9
|
||||
move 2 from 2 to 8
|
||||
move 6 from 2 to 7
|
||||
move 3 from 4 to 6
|
||||
move 1 from 3 to 4
|
||||
move 3 from 5 to 7
|
||||
move 1 from 6 to 9
|
||||
move 5 from 7 to 2
|
||||
move 4 from 9 to 1
|
||||
move 1 from 7 to 9
|
||||
move 9 from 8 to 4
|
||||
move 5 from 1 to 2
|
||||
move 2 from 6 to 1
|
||||
move 6 from 4 to 7
|
||||
move 1 from 7 to 3
|
||||
move 1 from 3 to 9
|
||||
move 1 from 9 to 7
|
||||
move 1 from 6 to 7
|
||||
move 9 from 4 to 5
|
||||
move 7 from 7 to 9
|
||||
move 3 from 7 to 5
|
||||
move 1 from 9 to 2
|
||||
move 6 from 9 to 8
|
||||
move 4 from 4 to 5
|
||||
move 1 from 4 to 2
|
||||
move 1 from 4 to 2
|
||||
move 2 from 1 to 2
|
||||
move 1 from 9 to 8
|
||||
move 10 from 2 to 4
|
||||
move 8 from 2 to 7
|
||||
move 12 from 2 to 9
|
||||
move 6 from 7 to 4
|
||||
move 1 from 1 to 2
|
||||
move 8 from 9 to 8
|
||||
move 7 from 5 to 1
|
||||
move 9 from 4 to 3
|
||||
move 14 from 8 to 4
|
||||
move 1 from 8 to 4
|
||||
move 1 from 1 to 5
|
||||
move 1 from 5 to 2
|
||||
move 3 from 2 to 4
|
||||
move 1 from 7 to 1
|
||||
move 1 from 7 to 3
|
||||
move 2 from 1 to 7
|
||||
move 3 from 5 to 7
|
||||
move 2 from 7 to 6
|
||||
move 1 from 6 to 5
|
||||
move 3 from 7 to 1
|
||||
move 1 from 6 to 8
|
||||
move 1 from 8 to 7
|
||||
move 1 from 3 to 6
|
||||
move 1 from 7 to 1
|
||||
move 4 from 1 to 4
|
||||
move 6 from 3 to 2
|
||||
move 3 from 1 to 2
|
||||
move 3 from 3 to 6
|
||||
move 3 from 2 to 6
|
||||
move 6 from 6 to 5
|
||||
move 1 from 1 to 4
|
||||
move 1 from 9 to 6
|
||||
move 5 from 2 to 1
|
||||
move 3 from 1 to 2
|
||||
move 2 from 9 to 8
|
||||
move 3 from 1 to 5
|
||||
move 1 from 9 to 7
|
||||
move 25 from 4 to 1
|
||||
move 1 from 1 to 7
|
||||
move 2 from 8 to 3
|
||||
move 13 from 1 to 9
|
||||
move 2 from 3 to 5
|
||||
move 8 from 5 to 9
|
||||
move 4 from 2 to 1
|
||||
move 2 from 6 to 7
|
||||
move 10 from 5 to 9
|
||||
move 4 from 7 to 2
|
||||
move 2 from 2 to 3
|
||||
move 9 from 9 to 2
|
||||
move 4 from 4 to 5
|
||||
move 4 from 5 to 4
|
||||
move 5 from 1 to 4
|
||||
move 10 from 4 to 5
|
||||
move 22 from 9 to 1
|
||||
move 2 from 2 to 7
|
||||
move 3 from 2 to 1
|
||||
move 6 from 2 to 6
|
||||
move 1 from 7 to 1
|
||||
move 10 from 5 to 7
|
||||
move 15 from 1 to 4
|
||||
move 13 from 1 to 5
|
||||
move 3 from 6 to 8
|
||||
move 1 from 8 to 9
|
||||
|
||||
|
10
src/day5/sample.txt
Normal file
10
src/day5/sample.txt
Normal file
|
@ -0,0 +1,10 @@
|
|||
[D]
|
||||
[N] [C]
|
||||
[Z] [M] [P]
|
||||
1 2 3
|
||||
|
||||
move 1 from 2 to 1
|
||||
move 3 from 1 to 3
|
||||
move 2 from 2 to 1
|
||||
move 1 from 1 to 2
|
||||
|
Loading…
Reference in New Issue
Block a user