Compare commits
21 Commits
main
...
f9729624f5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f9729624f5 | ||
|
|
c2df9b06ca | ||
|
|
f2d621dcb4 | ||
|
|
1630b3c627 | ||
|
|
8d86e18199 | ||
|
|
263f80e6a3 | ||
|
|
947b9cafca | ||
|
|
5f792c2ffa | ||
|
|
03c7e5f5f1 | ||
|
|
56bf4644ab | ||
|
|
54dad514be | ||
|
|
fcf2c58b71 | ||
|
|
4fe10ee925 | ||
|
|
3d7e206196 | ||
|
|
25c879c528 | ||
|
|
fe7df95f17 | ||
|
|
c40f1c822f | ||
|
|
c7ad6b02a8 | ||
|
|
4347fb2131 | ||
|
|
c7454a0202 | ||
|
|
44335ca03c |
81
2025/01.rs
Normal file
81
2025/01.rs
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
---cargo
|
||||||
|
---
|
||||||
|
|
||||||
|
static CONTENT: &'static str = include_str!("./inputs/01_1.txt");
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
enum Direction {
|
||||||
|
Left,
|
||||||
|
Right,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
struct Rotation {
|
||||||
|
direction: Direction,
|
||||||
|
amount: usize,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let rotations: Vec<Rotation> = CONTENT.lines().map(|l| l.trim()).filter(|l| !l.is_empty()).map(|l| {
|
||||||
|
let (direction, raw_amount) = l.split_at(1);
|
||||||
|
|
||||||
|
let direction = match direction {
|
||||||
|
"L" => Direction::Left,
|
||||||
|
"R" => Direction::Right,
|
||||||
|
other => unreachable!("Unknown Direction: {:?}", other),
|
||||||
|
};
|
||||||
|
|
||||||
|
let amount = match raw_amount.parse::<usize>() {
|
||||||
|
Ok(a) => a,
|
||||||
|
Err(e) => unreachable!("Invalid Amount ({:?}): {:?}", raw_amount, e),
|
||||||
|
};
|
||||||
|
|
||||||
|
Rotation {
|
||||||
|
direction,
|
||||||
|
amount,
|
||||||
|
}
|
||||||
|
}).collect();
|
||||||
|
|
||||||
|
println!("Rotations: {:#?}", rotations);
|
||||||
|
|
||||||
|
let mut count: usize = 0;
|
||||||
|
|
||||||
|
let mut state: isize = 50;
|
||||||
|
for rot in rotations.iter() {
|
||||||
|
if rot.amount >= 100 {
|
||||||
|
count += rot.amount / 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
let amount = rot.amount % 100;
|
||||||
|
if amount == 0 {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
match rot.direction {
|
||||||
|
Direction::Left => {
|
||||||
|
if state != 0 && amount > state as usize {
|
||||||
|
count += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
state = state.strict_sub_unsigned(amount);
|
||||||
|
state = state.strict_rem_euclid(100);
|
||||||
|
|
||||||
|
if state == 0 {
|
||||||
|
count += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Direction::Right => {
|
||||||
|
state = state.strict_add_unsigned(amount);
|
||||||
|
if state >= 100 {
|
||||||
|
count += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
state = state.strict_rem_euclid(100);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
println!("Applying {:?} => {} ({})", rot, state, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("Result: {}", count);
|
||||||
|
}
|
||||||
52
2025/02.rs
Normal file
52
2025/02.rs
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
---cargo
|
||||||
|
---
|
||||||
|
|
||||||
|
static CONTENT: &'static str = include_str!("./inputs/02_1.txt");
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let ranges: Vec<_> = CONTENT.split(',').map(|l| l.trim()).filter(|l| !l.is_empty()).map(|l| {
|
||||||
|
let (raw_start, raw_end) = l.split_once('-').unwrap();
|
||||||
|
let start: usize = raw_start.parse().unwrap();
|
||||||
|
let end: usize = raw_end.parse().unwrap();
|
||||||
|
|
||||||
|
start..=end
|
||||||
|
}).collect();
|
||||||
|
|
||||||
|
println!("Ranges: {:?}", ranges);
|
||||||
|
|
||||||
|
let mut result = 0;
|
||||||
|
for r in ranges.iter() {
|
||||||
|
for v in r.clone() {
|
||||||
|
let v_len = v.ilog10() + 1;
|
||||||
|
|
||||||
|
let mut iter = (1..=v_len/2).filter_map(|len| {
|
||||||
|
if v_len % len != 0 {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
|
||||||
|
let mut seqs = (0..v_len/len).map(|i| {
|
||||||
|
let offset = 10_usize.pow(i*len);
|
||||||
|
let mask = 10_usize.pow(len);
|
||||||
|
|
||||||
|
(v/offset) % mask
|
||||||
|
});
|
||||||
|
|
||||||
|
let first = match seqs.next() {
|
||||||
|
Some(f) => f,
|
||||||
|
None => return None,
|
||||||
|
};
|
||||||
|
|
||||||
|
let invalid = seqs.all(|s| s == first);
|
||||||
|
invalid.then_some((first, len, v_len/len))
|
||||||
|
});
|
||||||
|
|
||||||
|
let first = iter.next();
|
||||||
|
if first.is_some() {
|
||||||
|
println!("{} - {:?}", v, first);
|
||||||
|
result += v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("Result: {}", result);
|
||||||
|
}
|
||||||
77
2025/03.rs
Normal file
77
2025/03.rs
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
---cargo
|
||||||
|
---
|
||||||
|
|
||||||
|
static CONTENT: &'static str = include_str!("./inputs/03_1.txt");
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
struct Bank {
|
||||||
|
values: [Option<(usize, usize)>; 10],
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let raw_banks: Vec<Vec<u8>> = CONTENT.lines().map(|l| l.trim()).filter(|l| !l.is_empty()).map(|l| {
|
||||||
|
l.chars().map(|c| {
|
||||||
|
match c {
|
||||||
|
'0' => 0,
|
||||||
|
'1' => 1,
|
||||||
|
'2' => 2,
|
||||||
|
'3' => 3,
|
||||||
|
'4' => 4,
|
||||||
|
'5' => 5,
|
||||||
|
'6' => 6,
|
||||||
|
'7' => 7,
|
||||||
|
'8' => 8,
|
||||||
|
'9' => 9,
|
||||||
|
c => unreachable!("Other {:?}", c),
|
||||||
|
}
|
||||||
|
}).collect::<Vec<u8>>()
|
||||||
|
}).collect();
|
||||||
|
println!("{:?}", raw_banks);
|
||||||
|
|
||||||
|
let mut result = 0usize;
|
||||||
|
for bank in raw_banks.iter() {
|
||||||
|
println!("{:?}", bank);
|
||||||
|
|
||||||
|
let mut bank_iter = bank.iter();
|
||||||
|
let mut digits: Vec<_> = (&mut bank_iter).take(12).collect();
|
||||||
|
|
||||||
|
println!("Starting Digits {:?}", digits);
|
||||||
|
|
||||||
|
for other in bank_iter {
|
||||||
|
// println!("Looking to add {}", other);
|
||||||
|
|
||||||
|
let to_remove = digits.windows(2).enumerate().find_map(|(idx, window)| {
|
||||||
|
if window[0] >= window[1] {
|
||||||
|
return None;
|
||||||
|
}
|
||||||
|
|
||||||
|
Some(idx)
|
||||||
|
});
|
||||||
|
// dbg!(to_remove);
|
||||||
|
|
||||||
|
match to_remove {
|
||||||
|
Some(to_remove) => {
|
||||||
|
digits.remove(to_remove);
|
||||||
|
digits.push(other);
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
if digits.last().copied().unwrap() < other {
|
||||||
|
digits.pop();
|
||||||
|
digits.push(other);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("Ending Digits {:?}", digits);
|
||||||
|
|
||||||
|
let bank_value = digits.iter().copied().rev().enumerate().fold(0usize, |acc, (idx, v)| {
|
||||||
|
acc + (*v as usize * 10usize.pow(idx as u32))
|
||||||
|
});
|
||||||
|
println!("Value {:?}", bank_value);
|
||||||
|
|
||||||
|
result += bank_value;
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("Result: {:?}", result);
|
||||||
|
}
|
||||||
55
2025/04.rs
Normal file
55
2025/04.rs
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
---cargo
|
||||||
|
---
|
||||||
|
|
||||||
|
static CONTENT: &'static str = include_str!("./inputs/04_1.txt");
|
||||||
|
static GRID_OFFSETS: [(isize, isize); 8] = [(-1, -1), (0, -1), (1, -1), (-1, 0), (1, 0), (-1, 1), (0, 1), (1, 1)];
|
||||||
|
|
||||||
|
#[derive(Debug, PartialEq, Clone)]
|
||||||
|
enum Cell {
|
||||||
|
Empty,
|
||||||
|
PRoll,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let mut grid: Vec<_> = CONTENT.lines().map(|l| l.trim()).filter(|l| !l.is_empty()).map(|l| {
|
||||||
|
l.chars().map(|c| match c {
|
||||||
|
'.' => Cell::Empty,
|
||||||
|
'@' => Cell::PRoll,
|
||||||
|
other => unreachable!("Unexpected Input {:?}", other),
|
||||||
|
}).collect::<Vec<_>>()
|
||||||
|
}).collect();
|
||||||
|
|
||||||
|
let mut result = 0;
|
||||||
|
|
||||||
|
loop {
|
||||||
|
let mut to_remove = Vec::new();
|
||||||
|
for (y, row) in grid.iter().enumerate() {
|
||||||
|
for (x, cell) in row.iter().enumerate() {
|
||||||
|
if cell != &Cell::PRoll {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
let neighbours = GRID_OFFSETS.iter().filter_map(|(xoff, yoff)| Some((x.checked_add_signed(*xoff)?, y.checked_add_signed(*yoff)?))).filter_map(|(x, y)| {
|
||||||
|
let cell = grid.get(y)?.get(x)?;
|
||||||
|
Some((x, y, cell.clone()))
|
||||||
|
}).filter(|(_, _, c)| c == &Cell::PRoll).count();
|
||||||
|
|
||||||
|
|
||||||
|
if neighbours < 4 {
|
||||||
|
result += 1;
|
||||||
|
to_remove.push((x, y));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if to_remove.is_empty() {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (x, y) in to_remove {
|
||||||
|
grid[y][x] = Cell::Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
println!("Result: {}", result);
|
||||||
|
}
|
||||||
46
2025/05.rs
Normal file
46
2025/05.rs
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
---cargo
|
||||||
|
---
|
||||||
|
|
||||||
|
static CONTENT: &'static str = include_str!("./inputs/05_1.txt");
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let mut ranges: Vec<_> = CONTENT.lines().map(|l| l.trim()).take_while(|l| !l.is_empty()).map(|r| {
|
||||||
|
let (start, end) = r.split_once('-').unwrap();
|
||||||
|
let start = start.parse::<usize>().unwrap();
|
||||||
|
let end = end.parse::<usize>().unwrap();
|
||||||
|
|
||||||
|
start..=end
|
||||||
|
}).collect();
|
||||||
|
|
||||||
|
loop {
|
||||||
|
let result: Option<(usize, usize)> = ranges.iter().enumerate().find_map(|(idx, r)| {
|
||||||
|
ranges.iter().enumerate().filter(|(o_idx, _)| idx != *o_idx).find_map(|(o_idx, other)| {
|
||||||
|
r.contains(other.start()).then_some((idx, o_idx))
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
let (idx, o_idx) = match result {
|
||||||
|
Some(r) => r,
|
||||||
|
None => break,
|
||||||
|
};
|
||||||
|
|
||||||
|
let first = ranges[idx].clone();
|
||||||
|
let second = ranges[o_idx].clone();
|
||||||
|
|
||||||
|
let new_range_start: usize = *first.start().min(second.start());
|
||||||
|
let new_range_end: usize = *first.end().max(second.end());
|
||||||
|
|
||||||
|
let new_range = new_range_start..=new_range_end;
|
||||||
|
|
||||||
|
println!("Merge\n{:?} +\n{:?} =\n{:?}", first, second, new_range);
|
||||||
|
ranges[idx] = new_range;
|
||||||
|
ranges.remove(o_idx);
|
||||||
|
}
|
||||||
|
|
||||||
|
ranges.sort_by_key(|v| (*v.start(), *v.end()));
|
||||||
|
|
||||||
|
println!("Ranges: \n{:#?}", ranges);
|
||||||
|
|
||||||
|
let result: usize = ranges.iter().map(|r| r.clone().count()).sum();
|
||||||
|
println!("Result: {:?}", result);
|
||||||
|
}
|
||||||
59
2025/06.rs
Normal file
59
2025/06.rs
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
---cargo
|
||||||
|
---
|
||||||
|
|
||||||
|
static CONTENT: &'static str = include_str!("./inputs/06_1.txt");
|
||||||
|
|
||||||
|
#[derive(Debug, PartialEq, Clone)]
|
||||||
|
enum Operation {
|
||||||
|
Add,
|
||||||
|
Mul,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let raw_grid: Vec<_> = CONTENT.lines().map(|l| {
|
||||||
|
l.chars().collect::<Vec<_>>()
|
||||||
|
}).collect();
|
||||||
|
println!("Raw-Grid\n{:?}", raw_grid);
|
||||||
|
|
||||||
|
let height = raw_grid.len();
|
||||||
|
let width = raw_grid[0].len();
|
||||||
|
|
||||||
|
let separators: Vec<_> = (0..width).filter(|pidx| {
|
||||||
|
raw_grid.iter().map(|row| row[*pidx]).all(|c| c == ' ')
|
||||||
|
}).collect();
|
||||||
|
println!("Separators {:?}", separators);
|
||||||
|
|
||||||
|
let ranges: Vec<_> = (core::iter::once(0).chain(separators.iter().copied().map(|v| v+1))).zip(separators.iter().copied().chain(core::iter::once(width))).map(|(s, e)| s..e).collect();
|
||||||
|
println!("Ranges {:?}", ranges);
|
||||||
|
|
||||||
|
let mut result = 0;
|
||||||
|
|
||||||
|
for r in ranges.iter().cloned() {
|
||||||
|
println!("Range {:?}", r);
|
||||||
|
|
||||||
|
let values: Vec<_> = r.clone().rev().map(|p| {
|
||||||
|
raw_grid.iter().enumerate().take(height-1).map(|(i, r)| (i, r[p])).fold(0usize, |acc, (i, v)| {
|
||||||
|
if v == ' ' {
|
||||||
|
return acc;
|
||||||
|
}
|
||||||
|
|
||||||
|
acc * 10usize + v.to_digit(10).unwrap() as usize
|
||||||
|
})
|
||||||
|
}).collect();
|
||||||
|
println!("Values: {:?}", values);
|
||||||
|
|
||||||
|
let operation = raw_grid[height-1][r].iter().find(|c| **c != ' ').unwrap();
|
||||||
|
println!("Operation {:?}", operation);
|
||||||
|
|
||||||
|
let calc_res = match operation {
|
||||||
|
'+' => values.into_iter().sum::<usize>(),
|
||||||
|
'*' => values.into_iter().product::<usize>(),
|
||||||
|
other => unreachable!("Unexpected Operation {:?}", other),
|
||||||
|
};
|
||||||
|
println!("Calculation {:?}", calc_res);
|
||||||
|
|
||||||
|
result += calc_res;
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("result {:?}", result);
|
||||||
|
}
|
||||||
100
2025/07.rs
Normal file
100
2025/07.rs
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
---cargo
|
||||||
|
[profile.dev]
|
||||||
|
opt-level = 3
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
nalgebra = "0.34"
|
||||||
|
---
|
||||||
|
|
||||||
|
use nalgebra::DMatrix;
|
||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
static CONTENT: &'static str = include_str!("./inputs/07_1.txt");
|
||||||
|
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
enum Cell {
|
||||||
|
Empty,
|
||||||
|
Split,
|
||||||
|
Sourc,
|
||||||
|
TBeam,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let mut grid: Vec<_> = CONTENT.lines().map(|l| l.trim()).filter(|l| !l.is_empty()).map(|l| {
|
||||||
|
l.chars().map(|c| match c {
|
||||||
|
'.' => Cell::Empty,
|
||||||
|
'S' => Cell::Sourc,
|
||||||
|
'^' => Cell::Split,
|
||||||
|
other => unreachable!("Unexpected Input {:?}", other),
|
||||||
|
}).collect::<Vec<_>>()
|
||||||
|
}).collect();
|
||||||
|
|
||||||
|
let height = grid.len();
|
||||||
|
let width = grid[0].len();
|
||||||
|
|
||||||
|
let nodes: Vec<(usize, usize)> = grid.iter().enumerate().flat_map(|(y, row)| {
|
||||||
|
core::iter::repeat(y).zip(row.iter().enumerate().filter(|(_, c)| c != &&Cell::Empty)).map(|(y, (x, c))| (x, y))
|
||||||
|
}).chain((0..width).zip(core::iter::repeat(height))).collect();
|
||||||
|
println!("Nodes: {:?}", nodes.len());
|
||||||
|
let node_map: HashMap<(usize, usize), usize> = nodes.iter().copied().enumerate().map(|(idx, v)| (v, idx)).collect();
|
||||||
|
|
||||||
|
|
||||||
|
let mut adj_matrix = DMatrix::from_element(nodes.len(), nodes.len(), 0);
|
||||||
|
|
||||||
|
for (sx, sy) in nodes.iter().copied() {
|
||||||
|
match grid.get(sy).map(|r| &r[sx]) {
|
||||||
|
Some(Cell::Empty) | Some(Cell::TBeam) => unreachable!(),
|
||||||
|
Some(Cell::Sourc) => {
|
||||||
|
let x = sx;
|
||||||
|
let mut y = sy+1;
|
||||||
|
while grid.get(y).map(|r| &r[x]) == Some(&Cell::Empty) {
|
||||||
|
y += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
let s_idx = node_map.get(&(sx, sy)).unwrap();
|
||||||
|
let t_idx = node_map.get(&(x, y)).unwrap();
|
||||||
|
|
||||||
|
adj_matrix[(*s_idx, *t_idx)] = 1;
|
||||||
|
}
|
||||||
|
Some(Cell::Split) => {
|
||||||
|
for x in [sx-1, sx+1] {
|
||||||
|
let mut y = sy+1;
|
||||||
|
while grid.get(y).map(|r| &r[x]) == Some(&Cell::Empty) {
|
||||||
|
y += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
let s_idx = node_map.get(&(sx, sy)).unwrap();
|
||||||
|
let t_idx = node_map.get(&(x, y)).unwrap();
|
||||||
|
|
||||||
|
adj_matrix[(*s_idx, *t_idx)] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
None => {}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
let source = nodes.iter().copied().find(|(x, y)| matches!(grid.get(*y).map(|r| &r[*x]), Some(Cell::Sourc))).unwrap();
|
||||||
|
println!("Source: {:?}", source);
|
||||||
|
|
||||||
|
// println!("{}", adj_matrix);
|
||||||
|
|
||||||
|
let mut routes = 0;
|
||||||
|
let mut result_matrix = DMatrix::identity(nodes.len(), nodes.len());
|
||||||
|
for i in 1..height {
|
||||||
|
result_matrix *= &adj_matrix;
|
||||||
|
|
||||||
|
let versions = (0..width).map(|x| {
|
||||||
|
let s_idx = node_map.get(&source).unwrap();
|
||||||
|
let t_idx = node_map.get(&(x, height)).unwrap();
|
||||||
|
|
||||||
|
let routes = result_matrix[(*s_idx, *t_idx)];
|
||||||
|
|
||||||
|
routes
|
||||||
|
}).sum::<usize>();
|
||||||
|
println!("[{}] Routes {}", i, versions);
|
||||||
|
|
||||||
|
routes += versions;
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("Total Routes: {:?}", routes);
|
||||||
|
}
|
||||||
94
2025/08.rs
Normal file
94
2025/08.rs
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
---cargo
|
||||||
|
[dependencies]
|
||||||
|
slotmap = "1"
|
||||||
|
---
|
||||||
|
|
||||||
|
use slotmap::SlotMap;
|
||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
static CONTENT: &'static str = include_str!("./inputs/08_1.txt");
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let boxes: Vec<(usize, usize, usize)> = CONTENT.lines().map(|l| l.trim()).filter(|l| !l.is_empty()).map(|l| {
|
||||||
|
let (first, rest) = l.split_once(',').unwrap();
|
||||||
|
let (second, third) = rest.split_once(',').unwrap();
|
||||||
|
|
||||||
|
let first = first.parse::<usize>().unwrap();
|
||||||
|
let second = second.parse::<usize>().unwrap();
|
||||||
|
let third = third.parse::<usize>().unwrap();
|
||||||
|
|
||||||
|
(first, second, third)
|
||||||
|
}).collect();
|
||||||
|
|
||||||
|
let mut circuits = SlotMap::<_, Vec<(usize, usize, usize)>>::new();
|
||||||
|
let mut box_circuits = HashMap::<(usize, usize, usize), slotmap::DefaultKey>::new();
|
||||||
|
|
||||||
|
println!("Boxes\n{:?}", boxes);
|
||||||
|
|
||||||
|
let mut distances: Vec<_> = boxes.iter()
|
||||||
|
.flat_map(|s| core::iter::repeat(s).zip(boxes.iter()))
|
||||||
|
.filter(|(s, t)| s != t)
|
||||||
|
.filter(|(s, t)| ((s.0.pow(2) + s.1.pow(2) + s.2.pow(2)) as f64).sqrt() < ((t.0.pow(2) + t.1.pow(2) + t.2.pow(2)) as f64).sqrt())
|
||||||
|
.map(|(s, t)| (s, t, ((s.0.abs_diff(t.0).pow(2) + s.1.abs_diff(t.1).pow(2) + s.2.abs_diff(t.2).pow(2)) as f64).sqrt()))
|
||||||
|
.collect();
|
||||||
|
distances.sort_by(|(_, _, d1), (_, _, d2)| d2.partial_cmp(d1).unwrap());
|
||||||
|
|
||||||
|
// println!("Distances\n{:#?}", distances);
|
||||||
|
|
||||||
|
let mut last_connection = None;
|
||||||
|
while box_circuits.len() < boxes.len() || circuits.len() > 1 {
|
||||||
|
let (first, second, distance) = distances.pop().unwrap();
|
||||||
|
println!("Connecting:\n\t{:?} <=> {:?}", first, second);
|
||||||
|
|
||||||
|
let first_circuit = box_circuits.get(first);
|
||||||
|
let second_circuit = box_circuits.get(second);
|
||||||
|
println!("\tFirst Circuit: {:?}", first_circuit);
|
||||||
|
println!("\tSecond Circuit: {:?}", second_circuit);
|
||||||
|
|
||||||
|
match (first_circuit.copied(), second_circuit.copied()) {
|
||||||
|
(Some(fc), Some(sc)) if fc == sc => {}
|
||||||
|
(Some(fc), Some(sc)) => {
|
||||||
|
let second_boxes = circuits.remove(sc).unwrap();
|
||||||
|
let first_boxes = circuits.get_mut(fc).unwrap();
|
||||||
|
for b in second_boxes {
|
||||||
|
first_boxes.push(b);
|
||||||
|
box_circuits.insert(b, fc);
|
||||||
|
}
|
||||||
|
|
||||||
|
last_connection = Some((first, second));
|
||||||
|
},
|
||||||
|
(Some(fc), None) => {
|
||||||
|
circuits.get_mut(fc).unwrap().push(*second);
|
||||||
|
box_circuits.insert(*second, fc);
|
||||||
|
|
||||||
|
last_connection = Some((first, second));
|
||||||
|
},
|
||||||
|
(None, Some(sc)) => {
|
||||||
|
circuits.get_mut(sc).unwrap().push(*first);
|
||||||
|
box_circuits.insert(*first, sc);
|
||||||
|
|
||||||
|
last_connection = Some((first, second));
|
||||||
|
},
|
||||||
|
(None, None) => {
|
||||||
|
let circuit = circuits.insert(vec![*first, *second]);
|
||||||
|
box_circuits.insert(*first, circuit);
|
||||||
|
box_circuits.insert(*second, circuit);
|
||||||
|
|
||||||
|
// println!("\tCreated Circuit: {:?}", circuit);
|
||||||
|
last_connection = Some((first, second));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
let last_connection = last_connection.unwrap();
|
||||||
|
println!("Last Connection: {:?}", last_connection);
|
||||||
|
println!("Last Connection Distance: {:?}", last_connection.0.0 * last_connection.1.0);
|
||||||
|
|
||||||
|
let mut circuit_list: Vec<_> = circuits.iter().map(|(k, v)| (k, v.len())).collect();
|
||||||
|
circuit_list.sort_by_key(|(_, v)| core::cmp::Reverse(*v));
|
||||||
|
|
||||||
|
println!("Circuits: {:?}", circuit_list);
|
||||||
|
|
||||||
|
let result = circuit_list.iter().take(3).map(|(_, v)| *v).product::<usize>();
|
||||||
|
println!("Result: {:?}", result);
|
||||||
|
}
|
||||||
153
2025/09.rs
Normal file
153
2025/09.rs
Normal file
@@ -0,0 +1,153 @@
|
|||||||
|
---cargo
|
||||||
|
[profile.dev]
|
||||||
|
opt-level = 3
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
rayon = "1"
|
||||||
|
---
|
||||||
|
|
||||||
|
use rayon::prelude::*;
|
||||||
|
|
||||||
|
static CONTENT: &'static str = include_str!("./inputs/09_1.txt");
|
||||||
|
|
||||||
|
const PRINT: bool = false;
|
||||||
|
|
||||||
|
#[derive(Debug, PartialEq, Clone, Copy)]
|
||||||
|
enum Cell {
|
||||||
|
Empty,
|
||||||
|
Red,
|
||||||
|
Green,
|
||||||
|
}
|
||||||
|
|
||||||
|
const _T: () = assert!(1 == core::mem::size_of::<Cell>());
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let points: Vec<(usize, usize)> = CONTENT.lines().map(|l| l.trim()).filter(|l| !l.is_empty()).map(|l| {
|
||||||
|
let (first, second) = l.split_once(',').unwrap();
|
||||||
|
|
||||||
|
let first = first.parse::<usize>().unwrap();
|
||||||
|
let second = second.parse::<usize>().unwrap();
|
||||||
|
|
||||||
|
(first, second)
|
||||||
|
}).collect();
|
||||||
|
// println!("Points:\n{:?}", points);
|
||||||
|
|
||||||
|
let grid_width: usize = points.iter().map(|(x, _)| *x).max().unwrap()+1;
|
||||||
|
let grid_height: usize = points.iter().map(|(y, _)| *y).max().unwrap()+1;
|
||||||
|
|
||||||
|
let mut grid = vec![Cell::Empty;grid_width*grid_height];
|
||||||
|
for parts in points.windows(2).chain(core::iter::once(&[points.last().copied().unwrap(), points.first().copied().unwrap()] as &[(usize, usize)])) {
|
||||||
|
let start = parts[0];
|
||||||
|
let end = parts[1];
|
||||||
|
|
||||||
|
let g_points = line_point_iter(start, end);
|
||||||
|
|
||||||
|
grid[start.1 *grid_width+ start.0] = Cell::Red;
|
||||||
|
for (x,y) in g_points {
|
||||||
|
grid[y*grid_width+x] = Cell::Green;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
print_grid(&grid, grid_width, grid_height);
|
||||||
|
|
||||||
|
let inner_point = points.windows(2)
|
||||||
|
.filter(|p| {
|
||||||
|
let start = p[0];
|
||||||
|
let end = p[1];
|
||||||
|
|
||||||
|
start.0 == end.0
|
||||||
|
}).filter_map(|p| {
|
||||||
|
let start = p[0];
|
||||||
|
let end = p[1];
|
||||||
|
|
||||||
|
line_point_iter(start, end).next()
|
||||||
|
}).flat_map(|(x, y)| {
|
||||||
|
[(x-1, y), (x+1, y)]
|
||||||
|
}).filter(|(x, y)| {
|
||||||
|
(0..grid_width).contains(x)
|
||||||
|
}).find(|(x, y)| {
|
||||||
|
let c = (0..*x).map(|x| grid[y*grid_width + x]).filter(|c| *c == Cell::Green).count();
|
||||||
|
|
||||||
|
c == 1
|
||||||
|
}).unwrap();
|
||||||
|
|
||||||
|
|
||||||
|
println!("After filling");
|
||||||
|
print_grid(&grid, grid_width, grid_height);
|
||||||
|
|
||||||
|
let largest = points.par_iter()
|
||||||
|
.flat_map_iter(|p| core::iter::repeat(*p).zip(points.iter().copied()))
|
||||||
|
.filter(|(f, s)| f != s)
|
||||||
|
.map(|(f, s)| (f, s, (f.0.abs_diff(s.0)+1) * (f.1.abs_diff(s.1)+1)))
|
||||||
|
.filter(|(f, s, _)| {
|
||||||
|
let x0 = f.0.min(s.0);
|
||||||
|
let x1 = f.0.max(s.0);
|
||||||
|
|
||||||
|
let y0 = f.1.min(s.1);
|
||||||
|
let y1 = f.1.max(s.1);
|
||||||
|
|
||||||
|
(x0..=x1).flat_map(|x| {
|
||||||
|
core::iter::repeat(x).zip(y0..=y1)
|
||||||
|
}).all(|(x, y)| in_grid(&grid, grid_width, grid_height, (x,y)))
|
||||||
|
})
|
||||||
|
.reduce(|| ((0,0), (0,0), 0), |acc, (f, s, a)| {
|
||||||
|
if a > acc.2 {
|
||||||
|
return (f, s, a);
|
||||||
|
}
|
||||||
|
|
||||||
|
acc
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
println!("Largest: {:?}", largest);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn print_grid(grid: &[Cell], width: usize, height: usize) {
|
||||||
|
if !PRINT {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for y in 0..height {
|
||||||
|
for x in 0..width {
|
||||||
|
match grid[y*width+x] {
|
||||||
|
Cell::Empty => print!("."),
|
||||||
|
Cell::Red => print!("#"),
|
||||||
|
Cell::Green => print!("X"),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
println!();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn line_point_iter(start: (usize, usize), end: (usize, usize)) -> Box<dyn Iterator<Item = (usize, usize)>> {
|
||||||
|
if start.0 == end.0 {
|
||||||
|
let s = start.1.min(end.1);
|
||||||
|
let e = start.1.max(end.1);
|
||||||
|
Box::new(core::iter::repeat(start.0).zip(s..e).skip(1))
|
||||||
|
} else {
|
||||||
|
let s = start.0.min(end.0);
|
||||||
|
let e = start.0.max(end.0);
|
||||||
|
Box::new((s..e).zip(core::iter::repeat(start.1)).skip(1))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn in_grid(grid: &[Cell], width: usize, height: usize, (x, y): (usize, usize)) -> bool {
|
||||||
|
if grid[y*width+x] != Cell::Empty {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
let c = (0..x).map(|x| grid[y*width + x]).filter(|c| *c != Cell::Empty).count();
|
||||||
|
|
||||||
|
match c {
|
||||||
|
0 => false,
|
||||||
|
1 => true,
|
||||||
|
2 => false,
|
||||||
|
_ => {
|
||||||
|
let c = (0..y).map(|y| grid[y*width + x]).filter(|c| *c != Cell::Empty).count();
|
||||||
|
|
||||||
|
match c {
|
||||||
|
1 => true,
|
||||||
|
_ => false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
133
2025/10.rs
Normal file
133
2025/10.rs
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
---cargo
|
||||||
|
[profile.dev]
|
||||||
|
opt-level = 3
|
||||||
|
---
|
||||||
|
|
||||||
|
use std::collections::{HashMap, hash_map::Entry};
|
||||||
|
|
||||||
|
static CONTENT: &'static str = include_str!("./inputs/10_1.txt");
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
struct Machine {
|
||||||
|
desired_lights: u64,
|
||||||
|
buttons: Vec<u64>,
|
||||||
|
}
|
||||||
|
|
||||||
|
fn main() {
|
||||||
|
let machines: Vec<Machine> = CONTENT.lines()
|
||||||
|
.map(|l| l.trim())
|
||||||
|
.map(|l| {
|
||||||
|
let (lights, rest) = l.split_once(' ').unwrap();
|
||||||
|
let buttons: Vec<_> = rest.split(' ').take_while(|p| p.contains('(')).collect();
|
||||||
|
let joltage = rest.split(' ').skip_while(|p| p.contains('(')).next().unwrap();
|
||||||
|
|
||||||
|
(lights, buttons, joltage)
|
||||||
|
})
|
||||||
|
.map(|(raw_lights, raw_buttons, raw_joltage)| {
|
||||||
|
let raw_lights = raw_lights.strip_prefix('[').unwrap().strip_suffix(']').unwrap();
|
||||||
|
|
||||||
|
let lights = raw_lights.chars().enumerate().map(|(idx, c)| {
|
||||||
|
let v = match c {
|
||||||
|
'.' => 0,
|
||||||
|
'#' => 1,
|
||||||
|
c => unreachable!("{:?}", c),
|
||||||
|
};
|
||||||
|
(idx, v)
|
||||||
|
}).fold(0u64, |acc, (idx, v)| {
|
||||||
|
acc + (v << idx)
|
||||||
|
});
|
||||||
|
|
||||||
|
(lights, raw_buttons, raw_joltage)
|
||||||
|
})
|
||||||
|
.map(|(lights, raw_buttons, raw_joltage)| {
|
||||||
|
let buttons: Vec<_> = raw_buttons.iter().map(|button| {
|
||||||
|
let button = button.strip_prefix('(').unwrap().strip_suffix(')').unwrap();
|
||||||
|
|
||||||
|
let switch: u64 = button.split(',').map(|c| {
|
||||||
|
let v: u64 = c.parse().unwrap();
|
||||||
|
1 << v
|
||||||
|
}).fold(0u64, |acc, v| {
|
||||||
|
acc + v
|
||||||
|
});
|
||||||
|
|
||||||
|
switch
|
||||||
|
}).collect();
|
||||||
|
|
||||||
|
(lights, buttons, raw_joltage)
|
||||||
|
})
|
||||||
|
.map(|(lights, buttons, _)| {
|
||||||
|
Machine {
|
||||||
|
desired_lights: lights,
|
||||||
|
buttons,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.collect();
|
||||||
|
|
||||||
|
println!("{:#?}", machines);
|
||||||
|
|
||||||
|
let machine_states: Vec<_> = machines.iter().map(|machine| {
|
||||||
|
let mut states: HashMap<u64, Vec<u64>> = HashMap::new();
|
||||||
|
let mut queue = vec![0u64];
|
||||||
|
while let Some(state) = queue.pop() {
|
||||||
|
let new_states: Vec<_> = machine.buttons.iter()
|
||||||
|
.map(|button| {
|
||||||
|
state ^ button
|
||||||
|
}).collect();
|
||||||
|
|
||||||
|
match states.entry(state) {
|
||||||
|
Entry::Occupied(_) => {}
|
||||||
|
Entry::Vacant(ventry) => {
|
||||||
|
let new_states = ventry.insert(new_states);
|
||||||
|
queue.extend(new_states.iter().map(|v| *v));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
states
|
||||||
|
}).collect();
|
||||||
|
|
||||||
|
let distances: Vec<_> = machine_states.iter().map(|states| {
|
||||||
|
let mut distances: HashMap<u64, (Option<u64>, usize)> = states.keys().map(|node| {
|
||||||
|
(*node, (None, usize::MAX))
|
||||||
|
}).collect();
|
||||||
|
let mut q: Vec<u64> = states.keys().copied().collect();
|
||||||
|
distances.insert(0, (None, 0));
|
||||||
|
|
||||||
|
while !q.is_empty() {
|
||||||
|
q.sort_by_key(|n| core::cmp::Reverse(distances.get(n).map(|(_, d)| d).unwrap()));
|
||||||
|
let u = q.pop().unwrap();
|
||||||
|
|
||||||
|
let (_, u_distance) = distances.get(&u).copied().unwrap();
|
||||||
|
|
||||||
|
for neighbour in states.get(&u).unwrap() {
|
||||||
|
if !q.contains(neighbour) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
let new_distance = u_distance.saturating_add(1);
|
||||||
|
let (neighbour_prev, neighbour_distance) = distances.get_mut(&neighbour).unwrap();
|
||||||
|
|
||||||
|
if new_distance < *neighbour_distance {
|
||||||
|
*neighbour_prev = Some(u);
|
||||||
|
*neighbour_distance = new_distance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
distances
|
||||||
|
}).collect();
|
||||||
|
|
||||||
|
let mut total_steps = 0;
|
||||||
|
for ((machine, states), distances) in machines.iter().zip(machine_states.iter()).zip(distances.iter()) {
|
||||||
|
println!("{:#?}", machine);
|
||||||
|
//println!("States:\n{:#?}", states);
|
||||||
|
//println!("Distances: {:#?}", distances);
|
||||||
|
|
||||||
|
let (_, steps) = distances.get(&machine.desired_lights).unwrap();
|
||||||
|
println!("Required Steps: {}", steps);
|
||||||
|
|
||||||
|
total_steps += steps;
|
||||||
|
}
|
||||||
|
|
||||||
|
println!("Required Total Steps: {}", total_steps);
|
||||||
|
}
|
||||||
4604
2025/inputs/01_1.txt
Normal file
4604
2025/inputs/01_1.txt
Normal file
File diff suppressed because it is too large
Load Diff
10
2025/inputs/01_example.txt
Normal file
10
2025/inputs/01_example.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
L68
|
||||||
|
L30
|
||||||
|
R48
|
||||||
|
L5
|
||||||
|
R60
|
||||||
|
L55
|
||||||
|
L1
|
||||||
|
L99
|
||||||
|
R14
|
||||||
|
L82
|
||||||
1
2025/inputs/02_1.txt
Normal file
1
2025/inputs/02_1.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
17330-35281,9967849351-9967954114,880610-895941,942-1466,117855-209809,9427633930-9427769294,1-14,311209-533855,53851-100089,104-215,33317911-33385573,42384572-42481566,43-81,87864705-87898981,258952-303177,451399530-451565394,6464564339-6464748782,1493-2439,9941196-10054232,2994-8275,6275169-6423883,20-41,384-896,2525238272-2525279908,8884-16221,968909030-969019005,686256-831649,942986-986697,1437387916-1437426347,8897636-9031809,16048379-16225280
|
||||||
1
2025/inputs/02_example.txt
Normal file
1
2025/inputs/02_example.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
11-22,95-115,998-1012,1188511880-1188511890,222220-222224,1698522-1698528,446443-446449,38593856-38593862,565653-565659,824824821-824824827,2121212118-2121212124
|
||||||
200
2025/inputs/03_1.txt
Normal file
200
2025/inputs/03_1.txt
Normal file
@@ -0,0 +1,200 @@
|
|||||||
|
7455337345554393449454442744452533444624555444444525654744644442462265544584444244243377662874573954
|
||||||
|
4444433574444444521434318444437434434744463343344862443745783646353544443448334445344547344244354484
|
||||||
|
4454325334739566743455434465374426494464323643934468434765454444555535464455456547468454544534444637
|
||||||
|
2253633222422222521322222224224222262272124222312722231222222262212233722221212262222125452412392631
|
||||||
|
1222111334214231341321332223311232114113234132421133324233143211344224341223243324234444111131256789
|
||||||
|
5552574722261445226642632635456622675165425672633256621353613292945452142158642643242263631127224735
|
||||||
|
2332532231343123261241313224232361514572322232242233225222222332337363211613222322578362253152228332
|
||||||
|
3444583257424284574732453333613283357533643446346353834484734436344577745464538846857954427384448844
|
||||||
|
4455353554554545555555435654454545177665544544452544365893276544438552455556355859553169554555553594
|
||||||
|
1212213222211325322312232432222122322233322142223232412322222221152222512222212325222322222234732222
|
||||||
|
3532323431342366332734322335431332584123282362342232521333623521562231433242242323322322423422523343
|
||||||
|
5393555646342743842471375157346322364344623255433257656427163652244223162252553237255554336243245323
|
||||||
|
3536335312473322623951263331543434532432322323223374432222256333153252273359232323732652343722222372
|
||||||
|
1252436712222222227342227122334142252325225422217222224232346334227241322333312142925215211242263821
|
||||||
|
4445555564354545351744554455354455555453433655437554554331545446444524553643744655344554535344455553
|
||||||
|
2262334913222223223222122223222542222244222332211232212222222243321222516132237221231222622422222222
|
||||||
|
4468455455454384872948296641655953578334969369425239274865655978655569965666183954746455448625424753
|
||||||
|
2642222235131473533342421127644414525211214251112254452322544224663442221523642522242231223443225256
|
||||||
|
3265372365616256524333422322621222322523323437333253263435362324336432454572353226224354423233134426
|
||||||
|
3221326322223112223252226442121132123233513132423222212223424224223542223321323211212225421221242243
|
||||||
|
3232232222334331212321234221222222232113332355232212312242123322232222232422312232225162122132251222
|
||||||
|
5343224422213735433244533154442143423523327355434263329434214213236233442445413423225342443246453344
|
||||||
|
5515251446445935674642752243474223533255352762275543236227742345426232244442425425826332414252252543
|
||||||
|
2212212212316621222252782254641228332222324926235622222226242524622512842226424623542242423252221121
|
||||||
|
4368254754644555445525653536457444356537652556558555754544544553466455574455756245445766555525335645
|
||||||
|
3422222122216223332744331214143225142461454321461464262243333322431534123232122463232121524322231434
|
||||||
|
6524455585758455737455464524534243956662657453835763542313465584777748455655765544465565965623576554
|
||||||
|
3335453212456437413476673345295332446187757978226246824954372733439348322344143594456842342542441355
|
||||||
|
3266136442122221382442213236641432262514453232142232231872743323274651753726252423372732133241232424
|
||||||
|
4463494444654654547646344467365354636515314987585456434747496634624965464549639756587573483854684444
|
||||||
|
2114123232332223422332232232324222233332223238224624372234353237323322323232322523286332233322233422
|
||||||
|
3522223123127137322322111421322764249111222222331213323127222224242215222236422235221222312733222422
|
||||||
|
4482334574463534742435542547664747738934474673437414437357673533474657275432733437557333573234749133
|
||||||
|
3252768325634699291342622899223547262426392936924332232282931223522478227734563329365815593433222983
|
||||||
|
4685444454944384634544474736544447444444454846534443346644454434933452334454433646424475494433545444
|
||||||
|
2152253242253323231333223353133533222222423441452433235343342343232346421422574325221332313214255232
|
||||||
|
2421212323123323322222217332322321332283225132213241223442323221323321222233212232233133312222214322
|
||||||
|
7146222363223174322692392522888821382224245264742245427546245222484382852676596328722171274228967123
|
||||||
|
1525243154323112334233223353215221324112522123432382243314334412312233232134114242633222143233542333
|
||||||
|
4265433333352336332233836423358353115432244294333325232343333515323514533335353333433123334332532433
|
||||||
|
1222124222222521222463223272581222154522322423212262241221222812232522222222242252222115224212124222
|
||||||
|
3432383527463332653453534633363376638222333544133419552343354676223535353345446523333633347334332252
|
||||||
|
3234224222422732343444232354532223212429152224641323214223434272344444323255342323224423322822314422
|
||||||
|
3763565345344647646337443767572476638536478155583358756536652836474354535735347388435557463735783366
|
||||||
|
3355533244531433245243544115333323332245323331233333233237167221464343363535346342132342224322333343
|
||||||
|
5327552336562262434722626365545242466151553275152553556766256663265436418532963564322653364626225334
|
||||||
|
4422322322222532123142225222215225212433222122222352442243125212433114222251342452242452212452522212
|
||||||
|
3335333334326467246434462423344343433643463373385387333433333334694385835431363336233234332344654336
|
||||||
|
3333243432243333333222232332323332334333333353353333353443333112153333133231237313313233333332212923
|
||||||
|
4443454444455463443341354544545344353543454545543244234333444542434244443343344435333453743234524444
|
||||||
|
2633323482566579446243426554326423624333735265331536433363536394453321623353455234332532546463353743
|
||||||
|
3343333433231233943323144521623343442333734316233323533613333283332344334333343243334432333322142433
|
||||||
|
3133333235322333442233332223333132433232213213222333723232333321231333321333333324243213233312332213
|
||||||
|
2221222222222211222222222222112221233322222211222322234211332122322212222323121122242222222122233222
|
||||||
|
3315563592223432211221326353234221231424372222213226322126222429531322194683223433221322211312213222
|
||||||
|
1232233644235222811491249211423422212322222212232234911123322352331222323432532392222311212225233713
|
||||||
|
5223266263378466252643662525357236467544255512423635522575232271542426555123254734236661365774422326
|
||||||
|
4322382264334332333334442533643443336215235233335363227532323363192373636363423343523544354813634536
|
||||||
|
8674569592358876363656665765926665661757555381467588652455475368877642358753477378455772873563814683
|
||||||
|
4224532163324426337442636545231152142563225357421392372316243263662223536223462283325652226655242216
|
||||||
|
3352222233322433412483345343813353763233232724323235343345359242136432364422634433342326332314347323
|
||||||
|
3124222362226222523223254222292222661221325321452221434232222232313222518261421224222222314231252242
|
||||||
|
1222123142322112262612326221225423225221522255121243112222222124227122222431234214212322255222225222
|
||||||
|
4652694444556369478794843959967447246246752835423825854467545866755658556689544718454533353234278666
|
||||||
|
3735551322255413643365213643562175698218123272223233263528241132655224375535325423227267549223332324
|
||||||
|
2313235343323334323323335532413342233533421233333333243244264332241533351321322331434343323233234355
|
||||||
|
1432233324243323532434323444124433233343436332432341433243333332433234432334354434434333534336232414
|
||||||
|
6334437343533335553953933733393335953336343434373833324539133347253733336925243483737369613333333343
|
||||||
|
8633547165561536263543468475833666735665535793445546377734675265615277634334824353438735426966442749
|
||||||
|
2649226533124333434254296312244432739461239498355268472219224638533627263672223374533436232323141443
|
||||||
|
7899656565357759337665965746563768669974836674577464786556756634956474678585545465574485368885699347
|
||||||
|
2352233222235234422155222452193144552263413832224664546335255215533224256136626224248632246453226112
|
||||||
|
3272293352725532324755622239342441456732342272445252322521189336732426823823522634354432222266142232
|
||||||
|
3422222222211614126222221423232232224523246132223241212232422247143522322374322122222212224476226224
|
||||||
|
2223232723232323322232337312222122324323424762543232323346243233334223128323323332224232333232152442
|
||||||
|
3553525343343475333352734353543443444435151653454344464443553443332233446332434334343432243353234444
|
||||||
|
2524443424445544343444456443445423544444453233542144444446343444348343344445244434345443444254645344
|
||||||
|
3536633533264333341445332524534323323433333358336346344438342322935343733284544435643353134363444353
|
||||||
|
2222232512312222233232323112222131113122243211213221322234222122122322123222212225222221122222222222
|
||||||
|
4235343442633332414433543324434232334354442344446243323432433434144435444232454323442234344433435243
|
||||||
|
4454444632434434445344562544643454454344233544344454444544244654934443443644436623534444445444653453
|
||||||
|
2233523392325613434441235347343232434456322344455242423433443435363641332447341346243324614173425674
|
||||||
|
3334243321121223233733132221643223423344112923131222632422332232352323234352833322534313335423232223
|
||||||
|
5588247538579847643379456728728768837876785844978386485793434845567863553987469688875459226635665259
|
||||||
|
9336533525933323495434437365833435436752346562443556363872337844924579596359635766334357427543563399
|
||||||
|
3213226733222333352262234332242132332122212224232244243734221332222313224332322322233223215332333436
|
||||||
|
2335311332324223633265633533323333233322622656333323232323461343112343223632221332333322532213121233
|
||||||
|
3333353232334333333232332232223343233232233432332333243233232313362522332333331331332342233233222453
|
||||||
|
5213615362212434163731544243456522222352413136134355782332543223343461432261552252423473545132322432
|
||||||
|
2669954282344382157328173922924146246762272524639643592584856362634722487556665869321666642952525493
|
||||||
|
6564655755565455556665545655455563556645465545545553729456553452564466555556556655545545453435552565
|
||||||
|
1143213235534215114151142552434121314342342422222512212434452551435233423545225435332134334134516789
|
||||||
|
4433443234334242234426424634543433423344433545444434434343534355353434444364453433344345435441124243
|
||||||
|
6356647843557437854415775855576575446763366866357935374726754556674665463773725554475867353765673646
|
||||||
|
2122354324322223422222232422144443222534222125245514213322222412211224942342442222543412233225323322
|
||||||
|
7535435924672257634573455252452635774552736766439935422556563633363655335342464565621853537237437957
|
||||||
|
5133243443832333242143514221332243242223133343453242834464123531422344443336414274418314343244453212
|
||||||
|
7444766457955566574555667658857537786678677985767879664876749698587956476577988744676474557777467574
|
||||||
|
3333442233244415232833134423444523214444323332341232234224244243132225324462355543323237335735335312
|
||||||
|
2223323253523453242241313422222223221245222421232335452129223522222225234262224224442425423222152624
|
||||||
|
3346242122332333333332211265323123323331324421336233433353232336232343117323333533233333323326343133
|
||||||
|
2332423323436323333432412333333142331922313334322324432333322223332832321323343653333332242314313333
|
||||||
|
1613345333333422223335332218433334323231342342343314474332222373334323237273231623721422633633325322
|
||||||
|
3432324322922514231213223312332341141633223333143241232222339322122434322324223225522722322443232321
|
||||||
|
1343733232453822432221223394136616422262144424223234261242325613442423342172344233432216331135251365
|
||||||
|
1243223223224322222311221213322121222148212122322222212528212127421372451221221311223292522123222222
|
||||||
|
4434445544434652434424326434234246425432433547343454444543355543444446346354344354666644614533184395
|
||||||
|
3234332543342332253334443253234333231242242332443344233214341122232944142433121225323632234222454223
|
||||||
|
5514243243535324433233113345213252353333226533233533523354233335655323555433331352335544353463313454
|
||||||
|
2231362162422422614277122122124729225412119144422221248112424222272452222112233224812232261522224221
|
||||||
|
5746592253277244362522234334616194262598566434433212542572666255222432378764723621416255334632262728
|
||||||
|
5453632552313337422434145644133753354261243546453263616463331443536455453243643534454565323444234794
|
||||||
|
5153233342311433633432643442435234443422633334333333733334332521457432333723433232324325343453323233
|
||||||
|
1653623742923576342854326672643312372513336531767813462244612227416624222513936813528344118532745623
|
||||||
|
2221222222122222212223322231111122233232222222272122322222232222212222322223222221223222231222221222
|
||||||
|
2211621221223222211122222222322222222222221222211121424222212412122332222224722212121224221422222252
|
||||||
|
2224234242325323722553325423223525242217673123327313332284711273227422423263232311292855222243425223
|
||||||
|
6566652568328785451445335435234375538336754455368473444664254547454834554456566447554453548573443535
|
||||||
|
7473322863227234651462237132332451327222118435354237551357232676311652383212513422244322223323123556
|
||||||
|
3284522333252233222722433422314422151156253243725242322245235221243246226143941885823518222222432423
|
||||||
|
1122227534635557266653955132524264533522515613245673762353345143462755643122233124353756142214712212
|
||||||
|
4475444474758433543424349444444855353449244292434746533744443693359414474444442442347354417563444255
|
||||||
|
4253324323132221222122343222222222323111132112323222322421323113211222222322224322333222212243213322
|
||||||
|
2343434445335254463215546243455435545253424429553435532355342455565542445232532555555351443534631645
|
||||||
|
3263333251172223322542123231333222323233133551343623212152423523232322332431342115214229311445723364
|
||||||
|
4375224447443434424625314348442323144337447242652582335334123345544345452843344257362342225132342344
|
||||||
|
1615263171177374322722537251751471355447724661154125232722553214765767545622543654174524772674152689
|
||||||
|
4132437322454334621513227856368313753441422524244348464532423246522323242273346123338475242243523233
|
||||||
|
4113223222233333323333333323333332434624333523233333733333333233433233342313431735233322225434456442
|
||||||
|
6841753344562684333466242957564721249234374553139447565183252225344223463436333322244462233484122436
|
||||||
|
2325521175241435122232223154322121213243135221252542582231843122215222222124415413245252531225212224
|
||||||
|
6156536646252447554342464537646547444536355554427444336556565444544625455424345336555634554657425566
|
||||||
|
4546455534473345555455555451353355545334356435553564251343555335557564574352435455555455253542474454
|
||||||
|
2213222322212412222922238233242232211221223212242132111322222222221122212522224312122232122522222222
|
||||||
|
2323233122243323323224221232223333222323232353313144233232322323422231333333126312324131133321222221
|
||||||
|
5443455416534455543945433453435254563345523251425534425425145334531524455834523535324445225565424445
|
||||||
|
3344143222333635421222334362132332322324422334254332232323333534423132222322232221413222331122432323
|
||||||
|
7568665736454256637755655635842455528464535336755175735443465848559465845423323417437335485453256677
|
||||||
|
5644243324433341223237633431132222232143452224142352322245421325233242262451234233247522216522274122
|
||||||
|
6253322222111323124231221522451542813232233225211222212212222322322422222222223422512215542221233323
|
||||||
|
2412342222221364254642431141424255425455216466523273523243144212766226431422245643542241232663122124
|
||||||
|
4666562662456411232542235353156133544135624413142235364431436235343126336551255413646432643635253789
|
||||||
|
2212212232124224323213262624542342316124232213341212412214232233222233532239224313143521233222322114
|
||||||
|
1512122224526544233333174434142324444724142115351232342332223642434222321244235215322212131223342329
|
||||||
|
4446465324543414424544444315344434444424432343334143143331335243423334344342343363454324344334324444
|
||||||
|
2526233344242317153434352433455234542223513442452252122425525513253525543255443351421222352554252122
|
||||||
|
2133222322325533244125323533282324222332223323322335322432322131232143131422222122122242332223312132
|
||||||
|
2223322322212211222223121262223321526362326126122233432262222212232622222321123123222321212112323322
|
||||||
|
3332231334633133332113222432222313321333433331224322232233222343522334323434233332833232522332333532
|
||||||
|
7543845444333234448333445538314524523353332434334333343853337352133325533533348444632376132333623332
|
||||||
|
2425241335534465222445972373142322255143632353335254429354322213352331345455255554134737425347225215
|
||||||
|
2222222221222222222222522222122112222212211232222522222252221214232422221223211222222123242211232252
|
||||||
|
3234262373235122322213223411122333213243132522823142225332132624436852323323236238323231435255243338
|
||||||
|
5643244323232322244224221362222262321312315324225432316271225331163433195524352641122223252224334614
|
||||||
|
4425923234968499845352611234424545288768625563463757654742384266653228263353881565522142651293526821
|
||||||
|
7345642821551771625344317583834873168383236262675128312173852581762387236528521115414155624672741639
|
||||||
|
3254342333237346463377753152511735462423726772325562337724554453572541433763446366314454624145673236
|
||||||
|
6222737314533145845223454334252313245222324413235471244244414422534341242447344321315321444153341432
|
||||||
|
5333536223684455353735325813236394247465428433333653467449854636365583854474963658556389522948174482
|
||||||
|
5465685546643689556668878388667675735864275487636845888856765765822588585898354456986586688453556387
|
||||||
|
3725143425422423722322222233582324743475543333422353312222232121523335352131144544333232112532224322
|
||||||
|
2414642222413322362741642248282334758277644264523232523337242215836751388313163722735626236418262443
|
||||||
|
3316322347423632234224752322124343456527333424363725331234117422145334433482127732344332444221742245
|
||||||
|
4223222221251322322212212321422221222222111121121221222222212232223322222422112223222212242112222231
|
||||||
|
3323432335934565333352325535333423433323454445226233812332333544816852353323374333434332533257432446
|
||||||
|
4222221221222353222243311222212222242517222522222232222324222722221323225222131227222232223322222121
|
||||||
|
2446825528647466443438274344544542683344764537247846746455427744737344246654724466658537543127624744
|
||||||
|
3523321243734222442522521433153347172462444432444533235624463434425444525427436322414324342634214322
|
||||||
|
3232313223142261213133222322232323332221233232132121232321231321233432224313332133233322211232213333
|
||||||
|
3114333243232433241543334432453444532542363423334222834342243832443322423332333346424353133342342334
|
||||||
|
5234123223223222233463233423234233122214144213232414413343235222237522123133234332243524334242134243
|
||||||
|
3245434242324946345526234333232323244344446823242252382733935323486423552234258346533833433964532843
|
||||||
|
3836799347896334776851595238933733533879666525245657967794489337598932391756933639589334883463353334
|
||||||
|
2152321332232233233332322223235542435675323256212362233222552234323263133385323236351521222542522322
|
||||||
|
5966354939476987899986989687855573869924283589968842379764965357999636654357384265555439553766877655
|
||||||
|
7685665481446658736584765655364457426642655865563766265435366585655552762662564464323656786416865515
|
||||||
|
4236276455222222349523555343945253317265423313396436333321325654534126251546243366335222245245435323
|
||||||
|
4225473534454461525545433423555242444744344325245243255342315254435434252334241532334559342436525572
|
||||||
|
2635223321122222422241322242552122131332523124411132222411224223254351522122212223112262464221222494
|
||||||
|
2751217142326546656335223329223255233442894823343532275273236232694934344424739234314347829567232226
|
||||||
|
1232223232222123321212232212232234232222225212234222131322223323222122121242222222232224121233323322
|
||||||
|
6653636573797545642394466355444544494484836342483676646759479544374436656552324534385425334564564255
|
||||||
|
5222222223222122123212222481422232223232222222242322322222325223311212133222222342323523235212523222
|
||||||
|
4439637433333293334194643323523951285775123638734823326344132295535522872962336735493794776764233435
|
||||||
|
3163581424927226661275422662122222235252122632222212122632228514251419837512242222622134122228222641
|
||||||
|
8225879656457974862287642494698463183862865295378236479286644872679555284468263248517747236924856434
|
||||||
|
2613252245212322311562427522262325622235242637633222122251812282266665822121732232562165542122267632
|
||||||
|
2122622493223823342889613331282326764825222736222322214223952226233152353383821323223772222363485443
|
||||||
|
3513432323285436333733342243734838323586531657736862678123634748563336365357334332365835567353333682
|
||||||
|
3633423574264452474434463341544747244432446459342523646374346474443334426944443341644285443342344447
|
||||||
|
1222222322223122232243221122218222213235232341212722313122222223231222112122212323322231242423322232
|
||||||
|
3533433335544352442323444631583534444448444345274444634357364444432563343746463473545544453333243354
|
||||||
|
7254444246643343464444344213935329424294245474447236347173414424373694343244732243214464124432365435
|
||||||
|
3445562333551456542324322322364534666321653245222853464625266662634226653665122527457673665526467566
|
||||||
|
4224332224233425222223143242212232222261222222423222623224253414643421253322232272214142332221413322
|
||||||
|
6372523334363333333133693123331825313343248233349367368176633151333628954322341312437336336424433322
|
||||||
|
4343324633333923333322433363223634523326743433334148243343241141652334334444234432413332132461233521
|
||||||
|
5252438319415273293427372133226734332423122833732726783676642323133293798613547229836574427399327872
|
||||||
|
4645454654356354462444454645556453541565453541553441352645353534544844653646636545455555524554425246
|
||||||
|
5488291583558624714855444945264594545554545534554544945559444474355555865355794954423524154554416461
|
||||||
4
2025/inputs/03_example.txt
Normal file
4
2025/inputs/03_example.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
987654321111111
|
||||||
|
811111111111119
|
||||||
|
234234234234278
|
||||||
|
818181911112111
|
||||||
139
2025/inputs/04_1.txt
Normal file
139
2025/inputs/04_1.txt
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
@..@@.@..@@@.@@@@@@.@@@@@@@@.@@@.@@@.@.@@@.@....@@@.@...@@.@..@@@@@.@@@.@@...@@.@@@.@@@@.@@@@.@.@@@@..@@@@@@.@.@.@.@@@@.@@.@@.@@@@..@.@.@@@
|
||||||
|
.@..@@@@@@@.@@@@.@@@@..@@.@.@..@@@.@@@@@@...@@.@@.@...@@@..@.@@@@......@@@@@@@.@@.@.@@@@..@....@.@..@@.@.@@@.@.@@@.@@@@.@@.@.@@..@@@@.@@.@@
|
||||||
|
@@@..@@@@@@@@@@@.@..@.@@@@@@@@@....@.@.@@@@@.@....@@@@@@.@@@@@@@@@@@@@.@.@@...@@@@@..@@@@@.@..@@@@.@@@@.@@@@@@@@.@@@@@@@@@@@@@@@@.@@@@@@@.@
|
||||||
|
@@@@@@@.@@@.@.@@@.........@.@@@.@@@@@@.@.@@@@@@@@..@@@.@@@@@@.@.@.@.@.@@@@@@@@.@@@@@@.@...@@@.@@.@@.@@@@@@@.@@.@.@.@@@@.@.@@@.@@@.@@.@.@@@.
|
||||||
|
..@@..@@@.@@@@@@@.@.@.@@.@@..@@...@@@@@.@@@@@.@@.@@@.@@.@@@@@.@@.......@@..@@..@.@@.@@.@@@.@.@@@@.@..@@@.@@@@@.@@....@@@@@@.@@@@.@@.@@@.@.@
|
||||||
|
@@@@@@......@@@..@@.@@.@...@.@.@@@@.@.@.@...@@@@.@.@@@@@@@@@@@@...@....@@..@@.@@@@@@@@@..@@..@@@.@@@@@@@@@.@@@.@@@@@.@@@.@@@.@@@@@.@.@.....
|
||||||
|
.@@@@.@...@@@....@@...@@@@@@@@.@@....@.@.@.@@@@@@@@@@@.@@.....@@@@@@@@@@@.@.@@@@@@@@@@@@.@@@.@@@@@.@@@@@@@..@.@@....@@@..@@.@.@.@.@.@.@@@@.
|
||||||
|
@@.@@.@@@.@@@@.@..@...@.@@@.@.@@@@..@..@.@@@.@@@@.@...@@@@@@.@.@@@...@@.@@@@@@@@@..@.@@@..@@@@@@@@@@.@@@.@@@@@@...@.@@.@@@.@@...@@@.@.@.@@@
|
||||||
|
....@.@..@@@@@.@@@@@@@@@@..@@..@@@@.@@.@.@.@@.@@@.@@.@@@@@@.@@@@@.@@.@@@@@..@@.@.@@@..@@@@.@@@@.@@@@..@@@@@@@@..@..@.@.@.@@@.@.@@@@..@@@@.@
|
||||||
|
@@@.@@@@.@.@@@.@..@.@.@@..@@@.@.@.@@@@@@.@..@.@@.@...@@.@.@@...@@@...@@@.@@@@@..@.@@@.@@@@@@@@..@@@@@@@@.@@@@.@@@@@..@@.@@..@@.@@@@..@.@@.@
|
||||||
|
@@@@.@@@.@..@@@@.@@....@....@@@@@@@@@@@@.@@@.@@@@@.@@.@..@@..@.@..@..@@..@@@@@..@@.@@@@@@@@@@@..@@@@@.@.@@@@@@@@@@@..@@@@..@@@.@@..@...@@@@
|
||||||
|
@.@@@@..@@@@@.@......@@@@@@.@@@..@@@@..@@.@@@.@@@@@@.@@..@@.@@@@@@@@@@@@..@.@@@...@@@..@@.@.@@@@.@.@@@@.@.@..@@@.@..@@.@.@@@@@@.@@@@.@.@..@
|
||||||
|
@@@@@.@..@@.@..@@@@@.@@..@@@@...@@.@.@.@.@..@..@@.@@@..@...@@..@@@.@.@@..@@.@@.@@.@@.@.@@.@@.@.@@.@.....@@.@@..@......@@@@@.@@.@@@@@@@.@.@@
|
||||||
|
@@@@..@@@@.@.@......@@.@.@.@@..@.@@@@@...@@..@@..@@@@@@.@@@.@@..@..@@.@@@.@@@@.@@@@@@.@.@@.....@.@@@.@@@......@@@...@@..@@@..@.@@@.@@@@.@@@
|
||||||
|
.@.@@@.@.@...@@@.@@.@@@@@@@...@@@@@...@@@.@@.@@@@..@@.@@..@@@..@@@.@@@@@@@@@..@...@@..@.@@@@@@@@@.@@@@..@.@@..@@.@@@.@.@@.@.@@@@@...@.@@.@@
|
||||||
|
@.@.@@..@@.@.@@@@..@@@@.@.@@@@@@@@@@@..@@.@@.@@..@@..@.@@@@@@@.@..@@@@@.@@@@@.@@@@@@@@@@@..@.@@@@@@.@@@.@@@@.@@@@@@.@@@.@..@...@@@.@@@.@@.@
|
||||||
|
@.@@@.@@...@.@@@@@..@@..@@@@@..@@@@@@..@...@@@@@@@@@@@@@@@.@..@.@@@@@@..@@@...@@.@@@@.@.@@.@.@..@@@....@.@@.@@@@@@..@.@.@..@@..@@@@@.@@@.@@
|
||||||
|
.@@@@@@@.@@@..@......@@@@@@@@@@..@.@@.@@.@@@.@@.@@@@@@@.@@@@@.@@.@..@@@@@@@@..@@.@.@..@.@@@.@@@@@@@.@.@@.@@@....@@.@...@.@@@.@@@...@@@@@...
|
||||||
|
@.@@@@@.@@@@...@@@@@.@.@@@@.@@..@.@@@.@.@..@@@..@@@..@@@.@@.@@@@@.@@@@@@@@@@.@.@@@@..@@@.@..@.@@.@..@@@.@@@.@@@@@@@@.@@@..@.@.@...@@...@@@@
|
||||||
|
@.@.@@.@..@..@@@@@.@@@@@@.@@@.@..@.@@.@.@@.@@.@.@@..@@@@@@@@@@.@@...@@.@@..@@@.@@@.@@@@...@@@@@@.@@.@@.@.@@@@@@.@.@@@@.@..@.@@@@@.@@.@@@.@@
|
||||||
|
@@@....@@.@@@@@@@@@.@@@@@@@@@@@@@@.@@@@@@@@..@.@..@@@....@.@@@.@@@.@.@.@@.@@.@@@...@@@@@@@.@@@@..@.@@@...@@@@..@..@@@.@@@..@@..@@@..@@.@@@@
|
||||||
|
..@.@..@@@@@@.@.@.@@.@@@@@@.@.@@..@@@@@@@@@@.@@@.@...@@@.....@@.@@.@.@.@@@@@@@.@..@.@@@@@@@.....@@..@@.@@@.@@@@...@.@.@@@.@@.@@@.@@.@@@..@@
|
||||||
|
@@@@.@....@@@@@@@@@@.@@...@@@@.@@.@@@@.@.@@@.@@@@..@@@.@@@.@..@.@@.@@@@.@.@@@@@.@..@@.@@@@@.@.@@..@....@@@@@@@@@@@@@@@..@@@@.@..@@@@@@@.@@.
|
||||||
|
.@@....@@@...@.@..@....@@.@@@@..@..@@@..@@@@.@@@..@@.@@@.@..@@@..@@@@@@@...@@@@...@.@@.@@@@.@.@@@@@.@...@@.@@@@@....@..@@@@@....@@@@@.@.@@@
|
||||||
|
@@.@@@.@@...@@.@.@..@@@..@@.@...@@@@..@@@.@..@....@@@..@@@.@@@@@@@@..@@@..@..@@.@@.@@@@....@@@..@..@@..@@@@.@.@.@@.@@@..@@.@..@@@@...@@@.@.
|
||||||
|
@.@.@@@@.@@@@@@@@..@@@@..@@..@@@.@@.@@@@@..@@@@@.@..@.@.@.@@@.@.@@.@.@.@@@.@@.@@@@@@@@..@@.@.@@@@@@@@@@.@@@@@@@.@@@@@.@@@@...@@@@@@@@..@@.@
|
||||||
|
@@@..@@@@.@.@@.@@..@..@.@@@@.@.@..@@..@.@.@@@@@@..@.....@..@@@@@@@@@.@@..@.@@.@.@@@@@.@@@@@@@@@......@@.@...@@@@@..@@@@@@@.@.@..@@.@@@@@@@@
|
||||||
|
@@..@@.@@@@@@@@.@@@@@.@@.@@..@@.@@.@@@@@@@@.@@.@.@@@...@@@@@@@@@.@@@.@@.@.@@.@@@@..@@@.@@@@@@@@...@@..@@@@@.@@@...@..@@..@@@..@.@@@@@@@.@..
|
||||||
|
@.@@..@@.@@..@...@.@@@@@.@.@..@.@@@@.@.@.@@@.@.@.@@@..@@@@@@@@@@.@...@@@...@@..@@@.@@@@..@@@.@@@@@@@@@@..@@.@.@@.@..@......@...@@@.@@@@.@.@
|
||||||
|
@@.@..@@.@.@@@.@....@@.@@@@@.@.@@@..@@@@.@@@.@....@.@@@..@@@@....@.@....@@.@.@@@@@@@@...@@@.@@@.@.@@@@..@@@@@@@@@..@@...@@@.@.@.@@@@.@.@@@@
|
||||||
|
@@@@.@@@@...@@@@.@@@.@@@@@@@@@..@@@@..@@@....@@.@.@@@..@@.@...@@...@@.@@@@.@.@@@@.@@@@.@.@@@@@@@.@.@@...@@@@.@@@.@@@@.@.@@@.@.@@..@@@.@...@
|
||||||
|
.@@.@@@@.@..@@@@@@@..@..@@@@@@.@..@...@@.@.@...@..@@@@@@.@@.@.@@@@@.@.@.@@..@.@@@@@@.@@..@@@.@@.@@@@@@.@@@@@@@@@@@@@@@@@@@@@.@@@@@.@...@@@.
|
||||||
|
@@..@..@..@@.@@@@@@@@@.@@@@@.@@@@.@@@@@@@..@..@@@.@@..@@.@...@@@@@..@@@@@.@..@@..@@@@@.@....@...@@@.@@@.@@@@@.@.@.@..@..@@@.@@@.@..@.@@@@@.
|
||||||
|
@@@..@@..@@@@@@@@.@@@..@@@@@@@@@@@@.@.@@.@.@@@@@..@.@@@@@.@@@@.@@@@@@@@@@@@..@@.@@@@..@@@.@@..@.@@@@.@@@@@@@@@@@@.@.@@.@..@.@.@@@..@.@.@@..
|
||||||
|
...@@@.@@@@...@@.@.@@@@.@@..@.@..@@@.@@@@@..@@@..@@@@..@.@.@@@@@.@.@@@@@@@@@@.@@@.@@@@@@@@@.@.@.@@@@.@@..@@......@@..@@@.@@.@@.@@@@@.@.@@@@
|
||||||
|
.@@@@...@....@@@...@@.@.@.@@@@@@@@@@.@.@..@@@@@@.@..@@@.@@@.@@.@@@@@@.@@...@.....@@@.@.@.@@@@@@..@@@@@@@@@.@@@.@...@..@@@@@.@@@...@@@.@@@.@
|
||||||
|
@@@@.@@@...@@@.@@@@.@@@@@@@@.@@@@@....@@@@@@@@@.@.@@@@@@.@..@@@.@.@@@..@@@@@..@@.@@@@...@@@@@@....@@@@@.@@@@@@@@.@.@@@@@@@.@.@@@.@@.@.@@..@
|
||||||
|
..@@..@@.@.@.@.....@.@@@@@@..@@@@.@@@@@.@@.@.@@@.@@@@@@@@.@@@@.@.@.@.@@@@@@@@@@...@@@@.@..@@@@@.@@.@@@.@@@@@@@@.@@@..@@@.@.....@.@..@@.@@.@
|
||||||
|
@.@@@.@@@@@@.@@@@@@@@.@.@@@@.@..@.@@...@..@.@@..@..@.@.@@@..@@.@.@.....@@....@@@..@@@.@@.@@@@@@..@.@@..@@@.@@@@@@@@.@@@@@@@@@@.@@..@@@@@@@.
|
||||||
|
.@@@@@.@.@.@...@@@.@.@@@@@.@@@.@@@..@.@...@@@@@@@.@@@@@@@@@.@@....@@@@@.@@@@..@@@@@@.@.@.@..@.@.@.@@.@@.@@@@.@@.@.@@.@.@@.@.@..@..@@.@@....
|
||||||
|
.@@@@@@....@.@@@@@@@@@@@@@@@..@@@@@.@.@.@.@@@@....@.@.@@.@@@@@@.@.@@@@@@@@..@..@@@..@@@.@@....@@@..@@@@...@@.@@@@@@.@.@@@@..@@@@@@.@...@.@@
|
||||||
|
@@@@@@@@.@@@@@.@..@@...@@@..@@.@@..@..@@@@.@.@..@@@@@@.@.@@.@@.@@@@@.@@..@..@@@@@.@@@.@@..@@@@@@..@@@.@.@@@@@@..@..@@@..@.@@.@@@.@.@@..@..@
|
||||||
|
@@.@@@@@.@@@@@@@@@@.@@.@..@@..@@@@...@@.@..@@....@@.@@.@.@@@..@.@@@@@@@@@@@@@@..@@@@@@@.@@.@@@@@..@.@@@@@@..@@@...@@@@@.@@@.@@.@.@...@@@@..
|
||||||
|
....@@@.@.@@@@@@@@@.@.@@.@...@@@@@@.@.@..@@.@...@@@@.@@@@.@@@.@.@@..@@@@@@.@@@@..@@@@@@@@@@.@.@.@@..@.@.@@.@@@.@@@@@@@..@@.@@@@@.@.@@@.@...
|
||||||
|
@@@@@@..@.@@@@@@@@@@@@@@..@@...@@@@@@@@@@@.@.@@@.@@@@@..@.@@..@..@@@@@.@@@@@.@@..@.@@@....@@@@.@@@@@@@..@.@@@@@@@@@@@@@@@.@@.@.@.@@@@.@@@@.
|
||||||
|
@...@@..@.@@@@.@@@..@.@@.@@.@@@.@@.@..@@@..@.@@@@@@.@@@..@@@.@@@@.@@.@.@@....@.@...@@@@@@@.@@@.@@@@.@@.@@.@@.@@@@.@....@@@@@@@@@..@.@@@@.@.
|
||||||
|
@@@..@@.@.@...@...@.@..@.@@@@.@@@.@.@@@...@@@@@@@...@.....@@@.@@@@@@@@@@@..@.@...@@.@@@@.@@.@@.@..@@@@.@@@@.@@@@@.@..@@@..@@@.@@...@@..@@@@
|
||||||
|
.@@@@@@@.@@@@.@@@@@.@@@.@@@@..@@@@@@@@@@@..@.@@@@..@@@@@@@@@..@@@.@@..@@@.@.@@@.@@@..@.@@@@@@@.@@@@@..@.@.@@@@@.@..@.@.@.@@....@@@@@@.@.@@@
|
||||||
|
@@@@.@@.@@.@@@.@@@.@@@@@@.@@@.@@@@@@.@@.@@..@@@@@@...@.@@@.@..@@@@...@..@.@@@@@.@.@.@@@@@@@@@@..@@@.@.@@@.@@@@....@.@@..@@.@@@@@@@@@..@@@.@
|
||||||
|
@.@.@@@@@.@@.@@@.@.@@@..@@.@@.@@@@@@@@..@@@@..@@...@.@.@@@....@.@..@@@@@@@@@@.@@....@.@@..@@@@@...@@@@@.@.@@@@..@@@.@..@@.@@.@.@@...@@@@@@@
|
||||||
|
@@.@@@@.@@@...@@@..@.@.@@@.@@@@@.@@@.@.@.@.@@...@@.@.@@@@.@..@@..@@.@@.@.@.@..@..@@@@.@.@@@@@.@.@..@@@@@@@.@@.@@@....@.@..@@..@@...@@@.@.@@
|
||||||
|
@@.@@.@@@@@@.@@.@..@..@...@@@.@@..@.@@@..@@.@.@.@@.@@@..@@@.@@..@@@@@@@..@.@@.@.@@@@.@.@.@@.@@@.@@@.@@.@@@@.@@@@@...@@@@@@@@@.@@@@@.@@..@..
|
||||||
|
@.@@@.@@@@@@@.@.@.@@@@@.@@@@@.@@@@@@@.@@.@.@.@@@@@@@@@@@...@..@@.@@.@@@@.@@@.@@@@...@@@@@@.@@@@@@@.@@@.@@@@@....@..@@@.@@..@.@@..@..@@.@@@@
|
||||||
|
@.@@@@@..@@@..@@@@...@@@.@@@...@@.@@..@..@@..@@.@@@..@@@@@@.@@@.@@...@.@.@..@.@@@@.@@..@.@@@@.@@.@@@@@.@@@@.@.@@.@.@@@@.@@.@.@..@...@@@@.@.
|
||||||
|
@@@..@.@.@......@..@...@...@.@@@@@@@@.@@.@@@.@@@.@..@.@@.@.@@.@.@@@.@.@@..@.@.@.@.@.@.@.@@@@@@@@.@.@@@@@@@@@@@@@@.@@@@@@@@..@@..@..@@@@@@.@
|
||||||
|
@@@@.@..@.@.....@@.@@.@@.@@..@@@@...@.@@@@@@.@@..@@@.@....@.@@.@....@....@@@.@@@@@@@..@@.@@..@.@@@.@@@@@.@.@@@@@.@.@@@@...@.@@@@@@@@@@@.@@@
|
||||||
|
.@.@..@.@@.@@@@@.@@@..@@@.@.@@@..@@@@@@@.@@@.@@.@@@..@@@@@.@.@.@@.@.@@@@.@..@@@.@@@...@@@@.@@@..@@.@....@.@@@@@..@@....@..@@@.@.@@.@.@.@@.@
|
||||||
|
..@.@@@@@@.@@@.@@@.@@@@@@@@@@@@@@@...@@.....@@@@@@@.@..@@@@@@@@....@@@@..@@.@@@@@.@@.@.@@@@@.@.@@@@.@@@@@@...@@@.@.@.@.@@@@.@@@.@..@.@@...@
|
||||||
|
@.@.@.@@.@@@@.@@@@@.@.@...@@@@..@@@@@...@..@@@@@@..@@.@@.@@@@...@@@@.@@@...@@.@@..@@.@.@@@@@@@@...@@@@@..@@.@.@@@.@@@..@@...@@@@@@@@@@.@@.@
|
||||||
|
@@..@@.@.@@@@@@@.@@@@..@.@@.......@@..@@@@@.@@@@..@@@@..@.@.@.@@.@@@.@@@@@.@@@.@@@@@@@.@@@@@@@@.@@@@.@@.@.@@...@..@@@@.@.@@@@.@@..@@@..@@@@
|
||||||
|
@@.....@.@.@@@@@.@@..@@@.@@@@.@..@@@@@...@@@.@.@@@.@.@@@@@@.@.@..@.@.@@.@.@@@@@@@@.@.@@@.@..@@.@.@..@.@@@@..@@@@@@@@..@@@@@...@@@@@.@@.@@@.
|
||||||
|
@@@@@@@@....@@@.@.@@.@@.@..@@@@@@......@@@.@.@.@..@@..@@@@@@@@@..@..@.@@.@@@@.@@@.@@..@@@@@@....@@.@....@@@@.@@@@.@@@@..@@@@@@@@@@@@@@@@..@
|
||||||
|
@@..@@@..@.@@@.@..@@@@.@.@..@@.@..@..@@.@@@@@...@@..@.@@@@@@@...@@.@@@.@@@@@@@.@@@.@@..@.@@..@.@.@...@.....@@@@@.@.@@.@.@@@.@..@@@@@@..@@@@
|
||||||
|
.@.@@@@.@....@@.@@......@@@@@@@..@@@@@@@.@.@...@@@@@@@@@@@.@..@@..@@..@@@@@.@@@..@@.@@@@@.@@.@@@.@@....@..@@@@@@@@..@.@@@..@@@@..@.@.....@@
|
||||||
|
.@.@..@@.@.@@@@@@.@@@@@...@@...@@.@@.@@@@@@@@@@...@.@.@.@@...@.@@..@.@@@@@@@@.@@@@@@@...@@...@@@@@@@@@@@@@...@@.@@@...@@@.@@@@@@@.@@.@@..@@
|
||||||
|
..@@.@@.@...@@@....@@....@@.@@@.@@..@..@@..@@@@.@.@@@@@.@@@@...@@@@@@@@@@.@.@...@.@@@@@.@@@@.@@@@@.@@@@@@.@@.@@@.@@@.@@@@@@..@@@@@@@@.@@@@.
|
||||||
|
@@@.@@@@@@@@..@..@@@.@@@.@@@.@@.@@..@..@.@..@....@@@@@..@@@..@.@@@@@@.@@.@@.@@@@...@.@@@@@.@.@@@@.@@@@@@@@@@.@@.@@@@@@@@.@@@@@@@@@.@@@..@.@
|
||||||
|
@@@.@.@@.@@....@@@@@..@.@@@...@.@....@@@@@.@.@@@@@@@@@...@@...@.@@@@@..@..@@@.@@@.@@...@.@.@@@....@.@..@@...@...@@.@@@@..@.@@@@@@@.@..@@@..
|
||||||
|
.@@@.@......@.@..@.@@....@.@@@.@@.@....@@..@.@@@.@@@@...@@.@@@@@.@@@..@@@@@@..@@.@.@@@.@...@@@@@.@..@@@@@@..@@..@.@@@.@..@@.@@.@@.@@.@.@@@@
|
||||||
|
@@.@@@@@@..@@.@.@@@@@.@@@@@@@.@.@..@@@@@.@@@...@.@@@@@@@@..@@@.@@@@@@.@..@@@@@..@....@...@@@.@@.@.@@@@@@@@.@@@@@.@..@@.@@@@.@@@@.@@..@.@..@
|
||||||
|
@.@..@@.@@@@.@.@@@@.@@@@@@@@.@@@@@.@@@@@@@@@@@.@@@@@@@.@@@@@@...@.@@@@.@@@@@...@@@@.@@..@@@@.@@.@..@..@@@.@.@@@@.@.......@@.@.@..@.@.@@@.@.
|
||||||
|
....@.@@@@@@@@@@.@@@.@..@@@.@@@@@.@@@@@..@@@@..@@@.@.@.@..@@.@@.@.@@@@@@.@.....@.@@@..@@@@@@@@..@@@@.@.@@@@@@..@@..@@@.@@.@@.@@@@.@.@@@@@@.
|
||||||
|
@@...@@.@.@@.@@@@@@@.@@@.@.@@..@.@@@@@.@.@...@@..@@@.@..@@@.@@@@@@@@@.@@@.@@@@@.@.@@@@@@.@.@@.@@@.@.@@@@..@@..@.@@@..@@@.@.@@@..@.@.@@@.@@@
|
||||||
|
@..@@@.@@@@@.@@.@@@@@@@@@@@.@@@..@@@@@@@@@.@@.@.@@@@..@@..@@.@.@@@@.@.@@@.@@@.@@.@@@...@@@@@...@...@@@@@..@@...@@@.@@@@@@@@..@@.@@.@@@@@@@@
|
||||||
|
.@.@.@@@..@@@.@@@.@@@@@@@@..@@@@@..@@@@@.@@@@@..@..@.@.@.@@@@@@@@@@@@@.@..@@@@@@@@@@.@.@.@@@@.@.@@@@@@@.@@@@@...@@...@@@@@@@@.@@.@@@@@@@@@@
|
||||||
|
@@@@.@@@@.@@@@@.@..@@.@@@@@...@@...@.@..@..@.@.@.@@..@..@@@@.@@@@@.@..@@@@@@@@@@@.@@.@@@.@@@@.@@...@@@@@@@@..@@.@.@@.@@@.@..@@@@@@@@@@....@
|
||||||
|
..@.@.@.@@....@@@@.@@@@@@@@.@@@@@.@@@@.@..@@@.@.@.@@.@@@@...@@@@..@.@...@@@@@@@@..@@@@@...@@...@.@..@@@@@.@@@@.@..@@.@@@@@@...@@.@@@.....@@
|
||||||
|
@@@@@@.@@.@@@..@.@@@@@....@.@@@@@.@..@.@@@@@@..@@.@...@@..@@@@@@.@.@@.@.@.@@...@...@@@..@@@@@@.@.@@@@@..@@@.@.@@@@@@@..@@.@@@@.@.@.@.@.@..@
|
||||||
|
@@@@@..@@.@@@..@@@....@@..@@@.@@...@.@@.@@@@..@@@@@@..@@@@@@@..@..@.@@.@.@..@@@@@@@...@.@@@.@@@@@@@@@@@@.@...@@.@.....@@@@.@.@@@@@@.@@@@@.@
|
||||||
|
.@.@@@..@.@.@@.@.@..@@@@@@.@.@@@@@.@@@.@@@@@@@@.@.@.@.@@@@..@..@@@@@@.@...@.@@@@....@.@@@@@@.@..@@@.@@.@..@.@.@.@..@@@.@@@.@..@...@@@.@@@@@
|
||||||
|
@@.@@@@@@@...@@.@.@@@.@@@@.@.@...@.@@@...@.@@@.@.@@..@@@@@.@@@@@@@@.@.@@..@.@...@@@@@...@@.@.@.@@@@...@@.@.@.@.@@@@@.@..@@..@.@..@@@..@..@@
|
||||||
|
@@@@@@@@..@.@@@.@.@...@...@@..@@.@@@...@....@@@.@@@.@.@.@..@.@@@@.@@.@@@.@.@@.@@@@@@...@.@.@@@.@.@@@@@.@@@@@..@@@@..@..@@@@@..@...@@@@@@.@@
|
||||||
|
.@@..@.@..@.@@.@@@@.@@@@.@@@@@.@.@@@@@.@@@...@.@@@.@@@....@..@@.@.@@@...@@@.@@...@.@@...@@..@..@@@.@@.@@@@@@@@..@.@@@@.@@@@@@..@@@.@@.@@@.@
|
||||||
|
@@@.@@@@@..@.@@@.@@@....@.@...@.@..@@@.@@.@@@@@@.@.@..@@@@.@@.@.....@..@@.@.@@@@..@@@@@@@@..@@.@@.@.@@@@@.@..@@@@.@@.@@@@.@.@@@@@.@@.....@@
|
||||||
|
@@@.@@@.@@@.@@@@@.@@..@@@@@.@.@@@@@@@.@.@.@@@@@@@@@@@@@.@@.@..@.@@.@@@@.@@@@.@@@@@@@..@@....@@.@.@@@@....@....@@.@@...@.@@@@.@.@@@@.@@@@@@@
|
||||||
|
@@@.....@@@@.@@@..@.@@.@.@@@@...@@@@@@@.@@@@@@@.@@.@@..@@@@@@@...@@@..@@@@..@..@@@.@@@.@.@@@@@.@@.@@.@..@....@.@@@.@@@@@.@@.@@...@@@.@.@..@
|
||||||
|
@@.@@.@@@....@.@@.@@.@@@@@@@@@@@@@..@..@..@@.@.@.@..@@.@@@@.@@.@@.@..@.@......@@.@..@@@.@@@.@@@.@@@@....@.@@@@.@@@@@@@..@@.@@@..@.@@..@...@
|
||||||
|
@@.@@.@@@@@..@..@...@@@.@.@.@@.@...@.@.@@@@@@@.@@.@..@.@...@..@@@@@.@@@@@@.@@.@.@@@.@@.@@@@@.@@@@.@.@.@@@@@@@@@.@.@@@@.@@@.@.@@.@@@.@.@@@@@
|
||||||
|
.@@@@.@@...@@@.@@.@@@@@.@@..@@.@.@@..@.@.@@@.@.@@@.@@.@.@.@..@@@.@.@@@@@@@..@@.@@.@@.....@@..@.@.@@@..@.@@@.@.@...@@@@@@@.@.@@@@.@@@@.@.@..
|
||||||
|
.@..@@@@.@@.@.@@@..@@@.@@@@@@@@@@@.@@..@@..@@@@@.@.@.@.@..@.@.@.@@@@@@@@@@@@.@@@..@.@...@.@@@.@..@@@@@@.@@@.@@@...@@@.@@@..@.@@.@@.@.@@.@@.
|
||||||
|
@@@@@@@.@.@.@@@@@.@..@@@@@@@...@@@@@@@.@@.@@@@@..@@@.@@@.@.@@.@@..@@@@@@@@@@@.@..@@@@..@@@@@.@@@@@@...@@@.@@.@.@.@@@@....@@.@@...@@.@.@@@@@
|
||||||
|
@@@.@@@@@@....@@..@@.@@@@@..@@@.@..@@.@@@@.@@.@@@@@@@@.@.@@.@@@.@@@@@...@@@@@@.@.@.@@.@@@@@.@..@@..@@.@@@@.@@@@@.@@@@@@@..@.@@....@@.@@.@@@
|
||||||
|
@@@@@@@.@@@.@@@@@@@..@@..@.@@@@.@@...@@..@@@@@.@@..@@@.@.@@@..@.@@@@@@.@@@@@.@.@.@@@..@@.@@.@@@...@@...@@.@@@@@..@@@.@..@@....@@@..@@@@.@..
|
||||||
|
.@@..@.@.@@..@..@@@.@@...@@...@@.@.@@@@@@.@.@@.@@@@@@@@.@@.@@@@..@..@.@..@@@..@@@@....@.@.@@@@@..@.@@@@@@@@@.@@.@.@@.@@.@@@.@@@.@@@@.@@@@@@
|
||||||
|
@@@......@@@.....@@@..@.@@@...@.@@@@@@@.@.@@@@@.@.@@@@@..@.@@@.@@.@@@@@@@@@.@.@@@.@@@.@.@@@@..@@@@..@@@@.@.@..@...@@...@..@@@.@....@@.@@.@.
|
||||||
|
@@@.@@@@@@@@@@@....@..@@@.@...@@@@@@@.@@@@.@.@@..@@...@@@@@.@@@@@...@..@.@.@@@..@@@@@.@.@.@.@@@.@@@..@.@@@@@@.@@@@@@.@@@@@@@@@@.@@.@..@@@@.
|
||||||
|
.@@@.@.@.@.@@@@@....@.@@..@@@@..@.@@@@@@.@.@@@@@.@@@..@@@.@.@@@.@@..@@..@.@.@@@@.@@@@.@.@..@..@.@@@.@.@@@@@.@.@@@.@@..@@@@@@@.@@@@..@@@@..@
|
||||||
|
@@.@@@..@.@.@.@@@@.@@@@@.@@...@.@@@@@@..@@@@.@.@@@@.@@@@@@@@@.@.@@...@.@@@..@.@.@@@@@@@.@.@@.@@@.@@.@@...@...@.@@@..@.@.@..@.@@@@@@@@.@@@@.
|
||||||
|
@@@@@@@@.@..@@@@@@@.@.@@@@@@..@.@@@@@@@..@..@@@@@@@@@@@@@@@@@@.@@@@@@@.@@@@@@@@@@.@@@@@@@.@.@@@.@.@@@@@..@.@@@@@...@@.@@@@..@@@@..@@@.@@@@.
|
||||||
|
.@@@@@.@@@@@.@.@@@@@@@..@@@@@@@@@.@@@@.@@.@...@@.@@@@@@.@@@@.@@@@@@.@@@@@@...@@@..@@@@..@.@.@.@@@@@@@@@@.@.@@@@@@@@@..@@.@@@@.@...@@@@@.@.@
|
||||||
|
@@@@.@@@.@@@@@@...@@..@.@...@@@.@@.@.@.@....@@@...@@....@@....@.@@@@@@@...@...@@@@@@@@@@@@@@@@@...@@@@@@@@@.@.@@@.@@@@@@@@@@@@@@.@@@@@@@.@.
|
||||||
|
@@@@@@.@@@.@@@..@@@.@.@.@@.@@.@..@@@.@@..@@.@@@@.@.@.@@@@@.@.@@........@@.@@.@@.@@..@.@@.@.@..@@@.@@....@@@@.@.@@@..@..@.@@..@@@.@@@.@.@@@.
|
||||||
|
..@@.@@@@@@.@@@..@@@.@.@@@@.@.@@.@@@.@.@@@@.@.@.@.@@.@..@@@@@......@.@@@@.@@@.@@.@@@@@@.@@@@.@@...@@.@.@@.@@.@.@@.@@.@@.@@.@@@@@@@.@@@@@.@@
|
||||||
|
@..@...@.@@@@@@@@...@@@@@@..@@....@..@@@@.@.@.@@@@@@@..@..@@@@.@@.....@..@.@..@@.@..@@@..@.@@@@@.@@@..@@@@@@@@.@@@@@@.....@@.@@.@@.@@..@..@
|
||||||
|
@@@@.@.@@@..@.@@@..@@@@@@@@.@@....@..@@..@@.@.@.@@.@@.@@@@.@.@.@@..@@.@..@..@@@..@@...@.@@@@@@@.@@.@@@@.@@@@.@@@..@..@.@@.@@@@@.@@.@@@...@@
|
||||||
|
.@@@.@@.@.@..@.@@..@....@@@@@@.@@.@@.@.@@.@.@@@..@@.@..@.@..@@@@@..@@..@@@.@..@@@...@.@@@@@..@.@..@@...@@.@@..@.@@@@@...@@.@.@.@@.@@@@@@@@@
|
||||||
|
@.@@@@@.@@..@@.@.@@@@@@@.@@.@@@@@@@@@@...@@@@.@..@.@@@..@.@@@@@@@.@@.@@...@.@@@@..@@@@.@@.@@.@@@@@.@.@.@.....@@.@@..@@@@@@@@..@.@.@@@@.@@@.
|
||||||
|
@@.@@@@.@@@.@@@.@@.@@@@@@@..@@..@.@..@...@@@.@@@@@@@@@@@@.@@.@@.@@..@@@.@@@.@...@@.@@@@@@@@.@.@@@...@@..@.@.@@@@@@.@@@...@@@..@.@..@.@@.@@@
|
||||||
|
.@@.@@@@@@@@@...@@.@@@@@@@@..@...@.@@@.@@.@@@@@@@@@.@@@@@@@@@@@@.@@@@@.@..@.@.@@@...@@.@.@@....@@..@@@@@@.@@@.@@@.@@@..@@@@@@.@@.@.@@..@.@@
|
||||||
|
@.@..@@..@@@.@..@@@.@@.@..@@..@...@@.@.@@@.@@@....@.@@@@@@.@.@.@.@.@@@.@@.@@@@@@..@.@@@@@.@@@@@.@.@@@.@@@@@..@.@.@.@@@@@.@@@@@@@@@@@.@@..@@
|
||||||
|
.@@@..@@@@@@@@@@@@@.@..@@.@.@@@@@@@@@.@.@@.@@@@@@@@@@.@@@@..@@@.@@@@@.@@@@@..@.@@...@@@@@@@....@@.@@@@@.@@@@.@@@@..@@@@@@@.@.....@.@@@.@@..
|
||||||
|
@@@@@@@@@.@@@@..@@@@.....@.@@@@@.@.@@@@@@.@@@.@..@@@...@@@@@@@@@@@.@@@...@@@@.@@@@@@.@@..@@.@...@@@@@@@..@@@@@.@.@@@@@@@@@.@..@@@.@@@@@@@..
|
||||||
|
@@@...@@.@@...@@@.@@.@@@@@@.@@@.@@....@.@.@@@..@.@@@.@.@@..@@@.@@.@@@@.@@@.@.@.@@@..@@@..@@@@@@@@@..@@@.@.@..@.@@.@@@...@.@@@@@.@@..@@@@@.@
|
||||||
|
@@.@@...@@@.@@@.@@.@.@@@@@.@@@@@.@..@@@@.@@.@@@@@.@@.@@@@@@@.@.@@@..@@@@@@...@@@@@.@.@@@.@....@@@@@@@@@@@@@.@@.@..@@@@@@@@@@@@.@@@.@.@.@@.@
|
||||||
|
@.@.@@@.@.@.@@@@@@@@@@.@@.@@@@....@..@@..@@@.@.@.@.@.@.@@@@..@@.@@@@@..@@@.@@@.@@@@@@@@@@.@@@@@@@@...@@@@@@@@@.@@@.@@.@@.@...@@@.@@@@.@...@
|
||||||
|
..@@@@@@...@.@@@@@@@@...@...@@@.@@.@..@.@.@@@.@.@@..@@@.@.@.@.@@@@@@@@@@@.@@@@@@@.@.@@@@.@..@@@.@..@.@@..@...@@..@@@..@@..@.@@@@.@.@@..@@@@
|
||||||
|
@@.@@@@@@@.@@.@..@@@@..@@@@@@@@@@@@@...@@@...@@.@@@@@@@@@@@@@.@@@.@..@..@.@@@@@@.@@@@@.@.@@@@@@@.@.@@@@.@.@..@@@@.@@.@@.@@@@.@.@.@@@@@..@.@
|
||||||
|
@@@@@@.@.@...@.@@@@@@...@@@@@@@@.@@@@@@..@@@..@@@@@.@@@@@.@@@.@@.@@@@@.@@.@@@@@@@@@@..@..@@@@@@.@@@@.@...@@.@@@.@@.@...@@@@@@.@@@.@.@..@.@@
|
||||||
|
.@@@@@...@.@...@@.@.@..@.@...@@@.@@@@@@@..@@@@@@..@.@@@@@@@@@..@@@@@@@@@@@..@@@@@@@@.@.@@@@..@@@@@@@...@..@@.@.@.@.@..@.@@@@@@@@..@@@@@@..@
|
||||||
|
@@@@@@....@..@@.@@..@@@@.@@@@@@@.@@.@@..@@@@@@@.@.@@.@@.....@.@@@@@@..@.@@..@..@..@@@@@.@@.@@@@@@.@@@.@@@.@.@@@.@@@.@@.@@@@.@...@@@@@..@.@.
|
||||||
|
@@@..@.@.@@@.@@@@@@.@.@@@@@@..@@.@@.@@@@....@@@.@@@.@.@.@@@@@..@@@.@@@@..@@.@.....@@..@.@@@.@.@@@.@@@@@@.@@..@@.@..@@.@@@@@@@.@@@...@@@@@@@
|
||||||
|
...@@@@@@@@.....@.@@.@..@@..@@.@.@.@.@@..@@@@@@@@@...@@@@@@..@@..@@@.@@@@@@@....@.@@.@@@@@@.@@@@@.@@@@@@@@@@@@@.@.@@@@@@..@.@@@@@@..@@@@@@.
|
||||||
|
@@@@.@@@@@.@@@..@@.@@@@@.@@@.@@@...@@@.@.@.@@.@@@@.@.@@@@.@@@@..@.@@.@...@@@@@@@@@.@@@@...@.@.@@@.@@@..@@.@..@.@.@@..@@.....@@@@.@.@@.@@.@@
|
||||||
|
..@@......@@.@@@.@@..@@@@@..@@..@@.@@@@@@@@@@.@.@@@.@@@@....@@@@..@..@@..@@@...@@.@.@@@@...@@@@@@@...@@@@.@.@.@@@...@@@.@@@@@.@@@.@@....@.@
|
||||||
|
@.@@.@@..@@@@@@.@.@.@.@@@@@@..@..@@.@@.@@..@.@.@.@..@..@.@@@@..@@@@.@@@@@.@@.@.@@@.@@.@@.@..@@...@@.@.@@@.@@@@.@@@@.@@@@..@.@...@@@@@@@@@@.
|
||||||
|
.@@..@@.@@@.@..@@@@....@@@..@..@@@.@@@@@@@@@.@@@.@@@@@@..@@@@@@@@@..@@@..@.@@.@@@@....@@@@@..@@.@@@..@@@.@@@@.@.@.@@@@@@@..@..@@@@...@@@@@@
|
||||||
|
@.@@@@.@@@@@.@.@.@@.@@@.@@.@.@.@@..@.@..@@@@@.@@..@@.@@@@@@.@..@@@...@.@..@..@@@@...@@@@.@@@@@@@..@..@@@.@@.@@@@.@..@@..@@@@@..@.@@@@@@.@.@
|
||||||
|
@@@@@@@.@@@@..@@@@@@@@.@@@@@@@@@@@@@@@@.@.@..@@...@@.@@.@@@.@@@@..@.@@@@.@.@.@@@@@....@.@@@..@@@@..@@@@.@@@@@@@@...@@..@.@.@@@@@@@@@@...@.@
|
||||||
|
@@@@@.@.@@@..@@@@..@..@@...@@@.@@.@@@.@@.@@@.@.@@@@@..@..@.@...@@@@@.@@@@@@@@@.@.@@@@@@.@@.....@@@..@@@.@@@@@.@.@@@.@..@.@.@.@@@@.@@@..@@@@
|
||||||
|
.@@@@@@@.@@.@@@@@@.@@...@@@@.@@@@.@@.@@@@.@.@....@.@.@@@@@@.@..@.@@@@@@@@@...@@.@.@......@.@@..@...@@@@@@.@.@@@@..@@@.@.@@@....@@@.@.@@@@@.
|
||||||
|
..@@@@@@@@.@@.@@.@.@.@@@@..@..@@.@...@@@.@@@@@@.@..@..@@.......@@.@@@@@@@@@@@.@....@...@..@.@@@....@.@.@.@.@@@@@.@.@@@@@.@@@@@@@@...@@@@.@.
|
||||||
|
@.@@@.@.@@.@@..@@@...@@.@@.@...@@@...@@@@@..@.@@..@...@@@.@@@@@.@@@@@@@.@@@@.@@@.@@@.@.@@@..@@@@@.....@@@@@@@..@@@.@.@@.@.@..@...@@@@@@@@.@
|
||||||
|
@@@..@.@@@.@.@@..@@@@...@@.@.@@@.@@@@...@@..@@@@@@.@..@...@@@@..@@..@@@@@......@.@@@@@@@.@@@@.@@@.@@@.@@@@@@@@@@@.@.@@@@...@.@@..@@@@@@@@@@
|
||||||
|
@@@@@@@@@@@.@@@@@@@@@@@@@@.@.@..@@.@@@@.@.@.@@@..@@@@@.@@@@.@@@...@@@.@..@@@..@.@@@@@.@@..@@.@@@@@...@@@@.@..@..@.@.@@@@@@@@.@@@.@.@@@@@..@
|
||||||
|
@.@.@@@@@.@.@@@.@@@...@.@.@.@.@@@.@.@@.@@@...@@@@@..@.@@@@.@@@@@.@.@.@@@..@.@.@@.@.@.@@@@..@.@.@@@@@@@.@@@..@@@.@@.@..@@@.@.@@@@@@@.@..@@.@
|
||||||
|
..@...@@@@@.@..@@@..@.@@@@@.@.@@.@.@@@@.@.@.....@@.@@@.@@@@@@@@..@@@..@.@..@.@@@@@@..@@.@@..@..@@@..@@@.@..@@...@@.@.@@@@@.@.@@@@.@.@@@@@.@
|
||||||
|
.@@@@@@..@@@@..@@@..@@@@@@.@@@@.@.@@@@..@@@@@.@@@@...@@.@@@...@@@@..@@.@..@@@@@..@...@@@@@..@@@.@@@@@@.@@@@@@@@..@@.@@@@.@.@..@@.@.@@@.@@.@
|
||||||
|
.@.@@.@@@@.@.@@@..@@.@.@@..@.@@@@...@@...@.@@@@@.@@.@.@@.@.@...@..@..@@..@...@....@.@@..@@@@.@.@.@.@@@@@@..@@.@@@@@@@.@@.@.@.@@.@@@..@..@.@
|
||||||
|
...@.@@@@..@@@@.@...@..@.@@@.@@@@.@@@@@@@.@@@@@@@@@@@@.@@@.@@.@@.@@@.@@..@..@.@@@@@.@@@@@@@@@.@@@@.@@@@@@@.@@@@@@..@@@@@@@.@..@@.@...@@@@@@
|
||||||
10
2025/inputs/04_example.txt
Normal file
10
2025/inputs/04_example.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
..@@.@@@@.
|
||||||
|
@@@.@.@.@@
|
||||||
|
@@@@@.@.@@
|
||||||
|
@.@@@@..@.
|
||||||
|
@@.@@@@.@@
|
||||||
|
.@@@@@@@.@
|
||||||
|
.@.@.@.@@@
|
||||||
|
@.@@@.@@@@
|
||||||
|
.@@@@@@@@.
|
||||||
|
@.@.@@@.@.
|
||||||
1191
2025/inputs/05_1.txt
Normal file
1191
2025/inputs/05_1.txt
Normal file
File diff suppressed because it is too large
Load Diff
11
2025/inputs/05_example.txt
Normal file
11
2025/inputs/05_example.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
3-5
|
||||||
|
10-14
|
||||||
|
16-20
|
||||||
|
12-18
|
||||||
|
|
||||||
|
1
|
||||||
|
5
|
||||||
|
8
|
||||||
|
11
|
||||||
|
17
|
||||||
|
32
|
||||||
5
2025/inputs/06_1.txt
Normal file
5
2025/inputs/06_1.txt
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
49 9493 847 816 6 7131 86 51 323 87 9 71 1789 356 163 7 94 88 3751 314 916 1 42 57 1 234 6 734 762 92 74 18 1 17 417 16 53 733 691 735 141 2584 32 42 42 86 53 6657 812 64 261 583 39 44 325 36 413 77 6792 99 478 68 88 654 134 9 834 7516 2457 9 86 793 974 871 4 646 345 45 465 988 74 1 58 73 2 83 617 5144 66 71 37 85 53 44 2474 314 3 558 3 5636 32 93 86 68 3 3 79 8 1 49 3 22 171 76 56 45 12 9 858 27 494 816 98 71 289 98 244 9326 75 6 4 6 64 66 492 385 4 6219 6 19 6 25 4169 383 58 46 65 276 33 5839 569 79 74 6526 98 85 996 587 46 133 17 92 86 3737 473 455 552 5 953 11 93 84 873 342 72 693 69 5318 96 24 9173 4414 73 5 82 927 2 84 28 9 67 7 63 42 971 735 2 731 48 529 741 71 99 65 784 135 84 77 83 349 428 41 635 78 44 5 319 4 262 9 548 788 294 94 5966 6 366 1925 19 76 83 237 462 3275 2 35 1331 4 75 34 69 64 455 781 26 5439 68 65 379 14 56 87 79 32 55 353 813 9974 283 64 6 64 1876 47 9 17 14 17 86 9 927 6 53 534 277 7426 8534 2 176 57 52 41 39 66 465 7 56 55 9444 93 751 51 9931 253 792 698 49 98 35 17 129 45 2145 5 29 7 31 515 237 62 36 39 7 473 212 41 73 254 94 7151 64 93 29 5 868 3 5 62 8 913 16 8 13 9 86 49 5 78 57 98 7 35 9 45 34 5 41 49 18 64 347 439 9 72 99 83 922 37 945 6938 26 35 563 37 8 7243 819 2 181 77 51 7598 82 3 986 93 496 91 77 92 6757 32 21 868 6 21 9 15 2244 396 44 827 383 91 92 949 89 12 6 8765 624 4125 6995 85 5 59 76 211 29 25 96 85 8683 77 8 72 33 2789 368 265 8943 5394 7 8 136 19 9929 75 61 491 43 781 914 36 1284 32 3 18 235 589 386 4273 91 7 55 643 8 26 72 9 1 5 94 66 5 5 283 4 61 47 347 8 96 938 2926 2 47 8 64 648 215 28 5464 6 8 8 666 9 541 9315 47 5 45 782 61 141 124 571 99 33 26 8 625 5 8 57 5 844 14 93 5853 11 87 897 9367 82 17 143 5 84 2 24 93 929 21 18 3 379 78 2 464 3 871 815 46 297 91 9 1164 14 95 424 2 19 874 9695 11 715 512 281 58 598 3615 9 94 993 66 16 2 2 17 331 63 916 172 24 3 4423 78 8 48 252 835 21 4876 74 369 4 961 94 35 198 58 6 91 9498 13 4 748 89 448 192 548 589 85 38 8 45 85 612 65 21 55 626 45 251 347 2573 74 21 43 8 361 966 1391 81 18 29 61 1 2 46 59 898 3121 972 6257 484 15 926 37 7 697 7143 1 38 81 351 98 45 462 3193 822 49 82 6 331 52 84 674 51 1376 4 15 76 7 845 69 461 994 2568 643 7 916 691 3162 8 57 85 59 22 8 86 715 28 4 86 41 43 666 9 731 713 9452 27 98 858 434 3268 42 7 847 84 8 79 59 825 56 59 88 32 526 29 5 6749 9 945 82 9 95 7 61 66 2988 67 14 53 73 736 841 538 768 816 538 66 8 11 24 876 4 76 87 57 244 51 6 43 776 9 5 67 69 9 235 23 924 952 42 3273 1341 5 53 1599 46 53 64 86 73 459 146 363 466 4 9 777 1 17 958 885 123 93 8 84 64 46 8378 272 917 99 1 2355 1 978 11 16 9223 3 93 656 3234 26 89 3 1711 281 795 832 62 44 81 413 49 59 8 81 98 286 63 7 47 32 333 1 29 1543 81 465 18 582 7 2 33 398 7 632 6 75 8634 97 54 287 27 41 5 829 19 37 34 18 47 74 37 79 95 4 34 682 5357 48 818 166 41 1 122 58 982 2 75 25 776 446 1 97 91 57 294 79 49 49 14 35 28 58 57 1 15 96 268 5 8 16 97 24 62 84 6382 565 62 7 31 56 95 45 51 19 77 8 55 239 9 2 2 37 51 91 12 68 78 9437 78 3 33 22 3 9 92 2751 7462 6 5298 85 7495 796 8 76 36 921 2 45 195 44 288 42 784 17 24 8 894 619 2276 4 8849 572 19 33 4 165 27 67 519 3365 8 18 35 7 9342 4 74 25 15 6878 5 8 46 26 114 87 83 73 2 45 99 593 6 68 788 3464 815 5325 5 7279 98 47 24 97 92 7339 6 72 44 924 6 1 22 871 69 9 45 923 868 499 9 4 34 92 8 233 479 24 52
|
||||||
|
83 9643 262 113 91 3284 778 71 966 43 91 33 7759 156 265 25 54 79 4869 691 537 57 9341 35 25 242 2 269 956 118 27 23 1 82 698 15 15 652 1446 367 776 6562 54 19 98 89 25 8683 767 29 553 626 65 39 436 53 615 81 2956 44 546 547 55 4511 555 687 915 6713 6749 27 431 245 24 935 99 783 629 17 626 674 11 38 999 44 22 81 196 7938 51 55 54 46 84 83 7591 553 9 199 4 5294 75 68 93 15 61 28 582 78 95 81 5 46 91 67 71 87 96 67 383 88 731 471 33 59 766 38 927 5321 26 2 2 2 75 57 825 529 887 8711 66 73 8 85 1268 534 24 97 44 954 39 571 541 26 49 845 85 34 869 479 69 717 26 78 31 665 668 558 94 95 317 11 39 13 249 675 74 278 65 12 85 41 321 4787 91 2 34 611 42 71 24 892 38 5 36 69 579 872 19 288 88 874 113 79 87 78 831 568 27 21 58 621 435 39 534 55 16 91 112 5 984 346 182 642 877 155 7673 18 523 494 61 23 96 925 437 8675 655 7658 8946 57 77 934 21 26 882 331 98 3858 691 91 587 621 3591 445 69 45 77 871 882 6713 942 43 56 88 5784 21 82 5183 95 12 72 869 162 22 55 698 72 261 7696 38 155 1 74 34 88 53 63 5 99 937 1834 616 943 372 326 885 344 951 136 41 93 16 774 74 893 8 25 46 166 667 358 61 328 292 16 719 599 23 63 958 22 1136 652 28 36 6 941 88 1 87 52 785 51 14 76 2 324 46 21 98 12 312 75 28 2 696 47 4 53 77 62 56 569 354 6 81 11 62 276 5 125 7492 36 63 232 33 22 6868 446 41 19 74 3464 6226 723 9 2989 32 2561 98 96 835 5984 53 67 636 74 466 74 18 3835 997 65 122 74 66 8554 583 93 599 98 9284 871 4862 4159 43 44 25 31 796 98 35 191 21 9238 41 37 27 23 6245 132 933 7352 3527 5 727 89 15 2218 534 99 953 54 192 755 84 9455 34 55 68 744 984 473 285 26 7 83 664 44 71 1353 72 85 82 98 26 74 3 223 57 58 232 288 9 99 72 773 928 65 3 98 432 1121 24 6275 57 779 44 818 65 99 9413 66 9 47 568 19 386 654 796 86 57 58 27 364 642 2 59 416 496 47 61 1419 76 64 284 5426 27 23 547 25 488 72 97 2183 221 59 14 7 788 76 45 854 283 58 252 33 446 884 85 7287 18 85 886 3 93 79 9117 73 692 794 977 67 739 6671 784 657 899 4 32 63 757 47 911 48 329 634 77 12 6878 5868 58 483 719 17 31 2296 68 84 54 673 41 385 883 33 6 54 82 994 63 876 569 481 753 896 985 11 76 29 84 93 991 234 94 88 915 59 8889 298 5969 49 837 89 72 739 235 568 227 91 89 36 82 45 23 93 296 6225 143 885 446 946 238 81 6 215 8857 1 76 12 21 58 77 19 4193 782 81 74 48 342 6 46 661 85 3698 5 71 33 44 93 264 132 258 7798 451 5 757 881 2545 1 97 94 497 427 35 24 667 723 57 33 19 26 319 24 651 39 5255 9689 56 5239 789 5533 78 41 573 82 46 176 46 746 862 56 82 51 143 44 15 8641 9 635 66 68 235 4 47 19 5863 98 37 29 92 6863 953 293 481 312 639 97 8 95 75 881 35 82 52 842 582 42 52 94 231 32 7 47 12 99 12 79 256 614 2 5231 4367 8 225 5843 79 18 98 47 38 786 322 452 139 6 8 521 6 22 637 364 196 21 5 523 84 635 7486 316 197 72 865 8186 89 344 92 98 7982 87 96 622 7772 74 48 55 226 177 433 823 8679 16 774 328 29 354 7 67 261 899 5478 88 665 96 236 431 2 8555 139 629 31 787 7 44 54 775 4474 739 78 96 455 83 68 343 99 7 58 388 65 18 9 52 76 12 77 691 41 5 42 278 1391 85 343 233 29 22 531 134 779 19 4 18 161 259 676 64 271 42 544 741 52 61 632 28 154 65 325 18 41 75 414 31 8 519 79 42 957 27 5192 917 77 94 86 61 53 97 81 78 42 36 55 82 89 34 7542 57 34 62 65 44 47 1455 14 79 2 82 22 1 97 1432 515 2 8486 46 5644 556 67 71 962 674 67 58 231 13 794 27 439 69 25 4 456 415 297 69 4251 83 25 88 3 973 959 16 943 1289 39 66 39 93 777 768 511 847 6 3859 1 23 85 411 326 56 43 78 95 31 215 881 69 76 468 1663 424 642 14 177 64 46 78 42 29 9132 3 81 2 629 19 4 95 676 87 8 46 679 18 767 17 74 52 666 9 851 516 26 36
|
||||||
|
16 959 5389 422 48 7167 663 8 722 14 26 85 8579 924 6241 48 31 94 1794 54 693 67 5158 5 14 428 5 56 924 251 31 99 4 13 925 769 7 693 4785 993 73 279 25 28 189 962 56 7533 748 48 299 752 44 89 272 32 41 56 5597 48 89 753 67 7348 28 664 927 918 1 7578 1553 316 89 973 762 24 61 31 361 198 77 92 525 4 48 41 729 8579 72 95 2974 83 9 622 8773 62 54 925 28 4544 128 62 74 5 976 79 785 932 36 41 8 54 3 64 6 57 46 58 868 49 91 457 7 22 122 21 429 782 4796 55 87 37 79 779 673 331 841 2286 39 32 95 18 5696 46 5781 68 39 865 59 26 975 29 11 85 94 81 381 71 63 722 37 295 36 969 62 321 27 48 33 55 94 1 335 695 21 8 98 38 34 28 21 9987 86 748 38 825 27 22 86 166 9 39 36 14 531 596 71 23 23 21 894 91 77 83 398 172 8 21 435 87 481 46 25 85 5545 57 489 43 535 582 883 447 95 548 2325 43 763 129 67 36 2 132 369 175 267 7141 69 166 1 9526 85 55 536 94 19 9144 377 7 838 788 1552 818 67 52 23 52 12 3535 43 78 725 84 7563 2 276 8861 17 777 198 2817 545 79 19 9965 37 9 3746 36 975 2 4 2 28 61 96 6 17 915 98 392 88 314 647 289 65 41 232 7 18 81 112 69 81 49 88 545 842 657 11 76 612 321 17 29 249 18 468 912 96 4656 971 63 29 92 646 24 8 236 98 875 72 44 9 55 683 6 353 54 85 891 235 7938 3 542 68 67 18 98 85 92 432 54 137 41 48 29 24 1 122 7866 41 47 35 7 54 163 96 83 35 117 2365 8961 791 53 6847 68 2271 6 45 4872 9232 49 27 273 81 927 44 6448 541 561 369 441 18 4 1164 393 6 871 344 56 427 7185 8111 1 16 91 36 546 73 93 179 69 3567 84 66 96 93 1218 637 613 9426 796 97 2132 99 42 9764 786 21 65 52 764 9274 23 882 65 614 664 454 35 83 337 25 47 25 245 667 21 6687 48 615 349 83 99 6873 32 155 84 3 1191 44 2 66 71 866 849 67 67 53 692 9933 17 4371 47 482 94 77 68 12 421 41 27 16 93 5 79 772 16 46 618 14 37 728 342 6145 83 438 278 34 44 293 58 72 95 15 96 314 97 87 1542 82 36 9554 863 41 36 14 447 279 962 958 356 3 636 2 48 7865 558 55 77 87 452 13 66 75 825 37 797 644 9359 65 942 8986 783 298 666 2 17 24 194 986 994 5 588 24 13 95 619 8933 27 957 65 85 64 8746 58 14 16 726 81 541 597 69 9 6 64 8475 831 267 5191 94 866 69 32 52 97 789 92 86 351 697 54 71 124 46 3485 298 964 42 949 84 38 161 19 484 185 47 23 97 84 355 1 34 5773 62 49 393 77 728 38 11 42 648 471 6 99 52 86 76 883 64 446 751 82 77 947 379 8 68 235 36 1913 88 28 28 69 67 851 9527 21 4313 34 23 952 153 14 21 52 71 574 2343 19 51 88 631 97 97 45 74 139 9686 564 1 768 8916 24 3665 382 4416 82 136 382 17 899 928 38 437 5262 96 48 47 335 791 693 2182 2 331 23 91 353 97 1 97 1328 65 96 55 8 4687 983 354 621 14 813 35 17 41 897 949 74 25 56 687 213 6179 67 94 269 92 7 56 118 77 54 49 787 98 4 242 8479 19 122 319 39 41 78 87 231 592 568 363 615 62 17 25 6 74 885 594 148 9 13 313 76 191 277 892 96 89 196 176 494 618 278 67 66 226 1 174 271 18 8 42 89 53 33 446 3623 91 4656 873 33 826 12 39 254 622 5238 441 891 2 814 845 4 6697 256 469 92 53 25 87 86 569 9549 312 792 2 515 356 87 666 285 8 64 927 7 32 6 39 12 497 52 367 72 84 53 228 692 84 18 838 48 73 268 125 69 869 3 3 916 564 439 5 959 23 281 283 37 555 144 51 499 93 431 271 34 73 426 123 37 4365 26 14 167 58 9727 856 34 91 54 62 97 692 11 42 32 169 66 44 29 43 9583 486 15 88 6 38 938 537 1 83 2 69 943 4 55 948 646 72 324 769 2444 166 45 976 757 998 96 77 3 76 18 33 731 86 38 51 58 133 473 98 466 86 91 46 87 575 548 278 583 532 195 279 55 82 159 355 354 459 4 866 14 562 35 456 633 87 19 94 85 95 2836 686 21 32 886 693 714 655 68 855 6 66 593 95 61 654 4 84 2 96 82 91 94 531 26 4 327 79 96 741 33 581 14 279 68 543 632 79 57
|
||||||
|
83 5 2222 2 47 518 117 3 9 96 87 28 1732 92 4877 81 71 65 4 8 528 66 5889 8 57 793 56 4 5 821 183 25 35 34 996 451 7 3 8336 326 37 13 6 27 719 863 7 817 86 56 77 92 86 7 65 41 2 67 711 1 76 635 6 6363 4 469 847 83 7 4168 4219 485 9 736 919 93 12 5 517 773 34 72 533 6 34 52 85 76 7 73 9559 4 7 694 35 78 28 9213 38 23 554 44 6 4 376 68 372 118 35 98 13 638 8 51 8 54 34 86 915 15 25 373 4 8 359 91 8583 14 4463 16 79 54 36 314 29 842 8229 1 233 64 12 56 9494 9 8724 24 1 698 8 76 836 83 4 97 46 1 758 2 1 148 6 652 7 915 15 2 74 17 7 5 78 5 4 31 29 6 11 8 54 21 75 35 11 773 9 164 94 14 59 947 1 96 9 89 258 863 87 9 47 11 275 57 63 14 379 52 8 96 273 1 9 882 8 35 9624 26 485 68 889 486 464 823 5 687 87 41 374 88 67 467 7 892 87 76 298 6368 3 399 7 2815 65 42 8 42 71 989 266 1 34 125 3961 788 576 593 12 3 74 2684 7 34 642 97 94 3 686 8742 23 922 532 9954 6 751 68 8887 77 4 995 31 41 5 7 9 3 92 58 71 2 255 5 564 3 523 57 765 3 9 763 4 5 77 976 59 33 68 73 741 921 746 41 53 726 522 61 85 24 39 159 78 24 9871 533 38 51 76 9 36 68 651 82 78 99 84 2 99 137 3 769 88 4 988 668 6663 96 552 61 77 83 69 52 93 625 7 549 3 11 66 63 8 175 9 72 6 1 8 18 5 5 79 47 649 8416 661 622 53 1225 72 6986 3 24 8259 8585 6 4 19 82 827 36 4449 94 811 262 818 13 9 9759 57 7 444 947 32 94 146 192 3 776 54 85 7 91 43 729 26 81 68 25 389 52 2 66 331 944 34 47 3695 6 5 756 591 95 1 91 294 5551 47 46 18 277 891 334 4 28 332 53 18 83 4 353 78 1259 59 897 118 745 2 5824 48 9654 38 2 7523 13 91 17 47 89 198 31 27 38 123 4573 29 9331 276 8546 12 2 91 79 48 1 64 73 74 4 4 78 83 2112 458 76 32 847 285 1154 13 522 96 21 85 46 5 726 4 45 89 141 18 82 6148 63 2 1367 967 31 84 55 493 127 472 669 626 7 17 5 75 9283 577 7 42 52 1 22 75 1 727 66 62 353 4621 34 337 713 431 251 95 1 78 66 511 555 169 2 467 78 19 31 53 1664 28 447 66 43 6 33 2 54 19 983 66 7969 96 8 33 7 93 8465 831 912 4218 2 854 48 32 53 746 358 27 22 9842 563 11 42 86 1 1358 424 8 4 858 73 44 45 91 25 836 28 99 7 93 284 5 5 3725 87 15 63 55 474 1 29 91 69 4 56 35 79 92 79 233 5 49 36 81 27 129 19 2 15 944 78 782 19 4 3 38 8 4192 3997 7 927 8 13 539 19 78 19 88 65 218 6271 32 2 54 777 51 14 37 14 25 6275 23 1 9 7836 24 6159 91 5729 3 474 88 4 419 646 22 4 9738 3 1 28 628 858 5226 36 38 46 25 97 7529 42 4 5994 7767 9 84 71 8 1679 71 893 31 55 158 27 18 7 689 57 45 45 6 259 14 3141 19 5 9 83 49 98 346 79 27 55 84 8 7 41 6332 91 338 726 38 8 5 42 821 249 6 415 363 52 46 14 76 4 1 99 7435 4 63 3487 23 859 45 3376 8 92 781 541 993 571 492 4 89 279 9 9 715 3 3 94 2 98 23 383 4173 71 6897 622 8 511 31 55 781 113 7761 965 664 5 22 538 4 274 285 635 31 67 53 32 78 59 4319 936 258 9 45 676 99 641 258 7 97 949 8 52 1 41 2 751 1 866 5 96 857 22 12 15 3 845 46 43 698 862 9 869 9 3 141 49 975 6 422 56 557 834 94 9728 644 85 955 9 755 297 72 8 729 871 52 1861 58 17 639 61 284 22 83 52 71 3 14 136 65 26 4 568 8 8 92 52 7419 183 47 2 8 52 736 15 2 88 6 88 493 12 61 31 41 97 8 651 86 4 88 658 367 262 59 64 5 4 2 84 999 52 89 48 19 83 324 38 3 1 47 9 98 8 275 9763 914 662 915 5395 51 93 36 298 284 625 1 943 562 521 22 845 411 6 13 9 58 63 4555 35 644 99 225 12 113 18 94 88 1 7 251 52 98 448 55 59 6 48 53 456 52 493 79 75 857 33 75 68 61 358 17 8381 34 782 91 37 43
|
||||||
|
* + + * * + * * * * * * + * + + * * + * + * + * * + * + * * * * * * + * * * + + * + * + + * + + * * * * * * * * * * + + * + * + + * * + + + + * * + * + + + + + + + + + + + + + + * + * * * + * * + * + * + * + * * * + * * * + + * * + * + * * + * + + * * + + + + * * * * * * + + * * + * + + + + * * + + + + * + + * * * * * + * * + + * * * + * + * * * * * * + + * + + * + * + * + * * * * + + * * * * * * * * * * + * * + + + + * + + + + * * * + + + * + + + * + + * + + * + * + + + + + * * + * * + * + * * + + * + * * * + * + + * + + * + + + + + + * + + * + + + * + + * + * + * * + + + + * + + + * + + * + + + + * + * + * * * + + * + + + * * * + + + + * * * + * + * + + + * * * + * * * * + + + * + + * + + * + + * * * + * * + * * * + * + + + * * + + * * + * + + * + + + * * * * * + + + * * * * + + * * * + * + + + + * + * + + * * + + + * * + * + + + * + + * + * * * * * + + + * * + + * * + + + + + * * + + * * * * + * + + * + + * + * + * + * * * + + + * + + * + * + * * * + * * + * + + * * * + + + * * * * + * * + + * + + + + * * + + * + + * + + + * * + * * + * + * + * * + + + * + * + * * + * + + * + + + + * * * * * * + + + * * + + + * * * + + + * + * + + + + * + + * * + + + * * * + * * * + * + + + * + * + * + + + + * + + + * * + + * + * * + * + + + + + * * + * * + + + * * * + + + * + + + * * * + + + + * * * * + * + * * + + * + + + * * * * + + * + + * + + + + * * * * * + * + * + * * * + + * * * * + * * + + * * * * + * * + * * * * + * + + * + * * + + * + * + + + * * * * + * + + * * + * * * + + * + * + + * * * * + * + + + + * * + + * * * + * * * * + + * + + * * * + * + + + * + + * + + * + * + * * * + * + + * + + * * + * * + * * + + + * + + * * * + + * + * * + * * + + * + + * * * + * * * * * * + * * * * * + * * + * * * * * * + * * * * + * + * * + + * + * + + * * + * * + * * + + * * + * * + + + * * * * + * + + + + + + + + * * + * * + * + * + * + * * * + * + + * + * + * + * + * + * * + * + * + + * + * * + * + + * * + + + + * + + + + + * * + * + + * * * * + * + + * * * * + * * + + + * * * * +
|
||||||
4
2025/inputs/06_example.txt
Normal file
4
2025/inputs/06_example.txt
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
123 328 51 64
|
||||||
|
45 64 387 23
|
||||||
|
6 98 215 314
|
||||||
|
* + * +
|
||||||
142
2025/inputs/07_1.txt
Normal file
142
2025/inputs/07_1.txt
Normal file
@@ -0,0 +1,142 @@
|
|||||||
|
......................................................................S......................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
......................................................................^......................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.....................................................................^.^.....................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
....................................................................^.^.^....................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...................................................................^.^.^.^...................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..................................................................^.^.^.^.^..................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.................................................................^...^...^.^.................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
................................................................^.^.^...^...^................................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...............................................................^.....^...^...^...............................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..............................................................^...^.^.....^.^.^..............................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.............................................................^.^.^...^.......^.^.............................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
............................................................^...^.^.....^.^.^.^.^............................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...........................................................^.^.....^.^.....^.^.^.^...........................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..........................................................^.^...^.^...^.^.^.^.^...^..........................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.........................................................^...^.^.....^.^.....^.^.^.^.........................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
........................................................^.^.^.......^.^.^.^.^.^.^.^.^........................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.......................................................^.^.^.....^...^.....^.^.^...^.^.......................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
......................................................^...^.^.^.^.^.^.^.......^.^.^.^.^......................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.....................................................^.^.^...^...^...^.....^.......^.^.^.....................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
....................................................^...^...^.^.^...^.^.^.^.^...^.^.^...^....................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...................................................^...^...^.^...^.^...^...^...........^.^...................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..................................................^.^.^.^.^.......^.^.^.^.^...^.^...^.^.^.^..................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.................................................^.^.^.^.....^.^.^.......^.^.......^.^.^.^.^.................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
................................................^...^.^.^.^.^.^.^.^.^.^.^.....^...^.^.^...^.^................................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...............................................^.^...^...^.^.^.^...^.^.^.^...^.^.^...^.^.^...^...............................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..............................................^...^.^...^.^.^.....^.^.^.^...^.^.^.^.^...^.....^..............................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.............................................^.....^...^...^.^...^.....^.^.^.^...^.......^.^...^.............................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
............................................^.^...^.^.^.^.^.^.^...^.^.^.^.^...^.....^.^.^.^...^.^............................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...........................................^.^.^.^.^.^.......^.^...^.^.^.....^.^.^.......^...^.^.^...........................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..........................................^...^.^.^.^.^.^.^...^.^.....^.^.^.^.....^.^.^.^...^.^.^.^..........................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.........................................^.^...^...^.....^.^...^.^.^.^...^.......^...^...^.^.....^.^.........................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
........................................^.^...^.^.^.^...........^.^...^.^.....^...^.^.....^.^...^.^.^........................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.......................................^.^...^.^.^.^.^...^.^.^...^.^.....^.......^.^.^.^.....^.^.....^.......................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
......................................^...^.^.^...^.......^...^.^.^...^...^.^.^...^...^.....^...^.^.^.^......................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.....................................^.^.^.^.......^.^...^.^.^.^.^...^.^.....^.^.^.^...^.^.^.^...^.^.^.^.....................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
....................................^...^...^.^.^.^.^.....^.^.^.^...^...^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^....................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...................................^.....^.^...^...^.^...^.^...^.^.^.^.......^.^.^.^.^.^.^.^...^.^.^.^.^.^...................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..................................^.^.^...^.^.^...^.^.^...^.^.^.^.^.^.^.^.^.^.^...^.^.^...^...^...^.^.^.^.^..................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.................................^.^.^.^.^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^.....^.^...^...^.^...^.^.^.^...^.................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
................................^.^.^.....^.^.....^...^.^.^.^.^.^...^...^.^...^.....^.^.^.^.^.^.^.^.^...^.^.^................................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...............................^.^.^.^.....^.^.....^.^.....^.^.....^.....^.^...^.^.....^.^.....^...^.^.^.^.^.^...............................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..............................^.^.^.^...^.....^.^.^.........^.^.......^...^...^...^.^.^.^.......^.^.^.^.^.^.^.^..............................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.............................^.^.^.....^.^.^.....^.^.^.^...^.....^.^.^.^.^...^.^.^.^.^.^.^...^.^.^.^.......^.^.^.............................
|
||||||
|
.............................................................................................................................................
|
||||||
|
............................^...^.^.^.^.^...^.^.....^.^...^...^.^.....^.^...^.^.^.^...^.^.^.^.^.^...^.^...^.^.^.^............................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...........................^.....^.^.^.^.^...^.^.^.^.........^.^.^.^.^.^.^.^.^.^.^.^.^.^.....^.^.^.^.^.^.^.^.^.^.^...........................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..........................^.^.......^.^.^...^.^.^.^.^...^.^.^...^.^...^.^.^.^...^...^...^.^...^...^.^.^.^.^.^.....^..........................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.........................^.^.^...^.^.^...^.^...^.^.^.^.^.^.^.......^.^.^.^...^.^.....^.....^.^.^.^...^.....^.^.^...^.........................
|
||||||
|
.............................................................................................................................................
|
||||||
|
........................^.^.....^.^.^.^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^...^.....^...^.^.^.^.^.^.^.....^.^...^.^.^.^........................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.......................^.^.^.^...^...^...^.^.^...^.^.^.^.^.....^.^.......^.^...^.^...^.^.^...^...^.^.^...^.^.....^...^.......................
|
||||||
|
.............................................................................................................................................
|
||||||
|
......................^.^.........^.....^.^.....^...^...^...^.^.^.^.^.......^.^...^...^.^.^.^.......^.^...^.^.^...^.^.^......................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.....................^.^.^...^...^.^...^.^.^...^...^.^.^.^.^.^.^...^...^.^.^.^.....^.^.^...^.^.....^...^...^...^.^.^.^.^.....................
|
||||||
|
.............................................................................................................................................
|
||||||
|
....................^.^.^...^.^.^...^.^.^.....^.......^.^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.....^.^.^.^.^.^...^.^.^...^.^.^.^....................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...................^.....^.^...^.^...^.^...^.^.....^...^.^.^.......^.^.^.^.^.^.^.^.^...^.^.^.^.^...^.^.^.^...^.^.^.^.^...^...................
|
||||||
|
.............................................................................................................................................
|
||||||
|
..................^.^.^.^.^.^.^...^.^.^.^.....^.^.^.^.^.^.^...^.^...^...^...^.^.^.^.......^.^.^.....^.^...^.^.^...^.^...^.^..................
|
||||||
|
.............................................................................................................................................
|
||||||
|
.................^...^.^.^.^.^...^.......^.^.^.....^.^...^...^.^.^...^.^...^...^...^...^.^.^...^...^.^...^.^.^.^.^.^.^.^.^.^.................
|
||||||
|
.............................................................................................................................................
|
||||||
|
................^.^...^...^.^...^.^.....^.^.^.^.^.^.......^.^.^...^.^.^.^.^.^.^.^.^...........^.^.^.....^.....^.^.^.^.^.^...^................
|
||||||
|
.............................................................................................................................................
|
||||||
|
...............^.^.^...^.^.^.^.^.^.........^.^.^.^.^.......^...^.....^...^.^...^.....^...^...^...^.^.^.^.^.^.^.^.^.^.^.^.^.^.^...............
|
||||||
|
.............................................................................................................................................
|
||||||
|
..............^.^.^.^.^.^.^.^.^.^.^.^...^.^...^.^.^.^.^...^.^...^.......^.^...^.^.^...^.....^.^.^...^.^.^.^.^...^.^.^.^.^...^.^..............
|
||||||
|
.............................................................................................................................................
|
||||||
|
.............^.^.^.^.^...^.^.^.......^.^.^...^.^.^.^...^.^.^.^...^.....^.^.......^.^.........^.^.^.^.^.....^.^.^.^.^.^.^...^.^.^.............
|
||||||
|
.............................................................................................................................................
|
||||||
|
............^...^.^...^.^.^.^.^.^...........^.^.^.^.^.^.^.^.^.^.....^.^.^.^...^.....^.^.......^...^.^...^.....^.^.^...^.^.^...^.^............
|
||||||
|
.............................................................................................................................................
|
||||||
|
...........^.^.^.^.^.^.^.....^.^...^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.....^.^.^.^.^.^...^...^.^.^.^...^.^.^.^...^.^.^.^...^.^.^.^.^.^...........
|
||||||
|
.............................................................................................................................................
|
||||||
|
..........^...^.^.^.^.^.^...^...^.^...^.^.^.^.^.^...^.^...^.^.^.^.^.^.^.^...^.^.^...^.^.^...^.^.^.^...^...^.^.^.^.^.^...^.^.^.^.^.^..........
|
||||||
|
.............................................................................................................................................
|
||||||
|
.........^...^.^...^.....^.^.^...^.......^.^.....^.......^...^...^...^.^.^.^.^.^.^.....^.^.^.....^.^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.........
|
||||||
|
.............................................................................................................................................
|
||||||
|
........^.^...........^...^.......^.^...^.^.^...^.^.^.^...^.^...^.^.^.......^...^.^.^.^.^.^.^.^.^.^.....^...^...^.....^.^.^.^.^.^.^.^........
|
||||||
|
.............................................................................................................................................
|
||||||
|
.......^...^...^.^.^...^.^.^.....^.^...^.^.^...^...^.^.^.^.^.^.^.^.^.^.^.^.^...^.^.^...^.^...^...^.^.^...^.^.^.^.^.....^...^.^.....^.^.......
|
||||||
|
.............................................................................................................................................
|
||||||
|
......^...^.^...^...^...^.^.^...^.^.^.^...^...^.^.^...^.^.....^.^.^...^.....^...^.^...^.......^.^...^.^.....^...^.^.^.^.^.^.^.^.^.^...^......
|
||||||
|
.............................................................................................................................................
|
||||||
|
.....^.^.^.^...^.^.....^.^...^.^.......^.^.^.^.^.^.^.^.^.^...^...^.^.^.^.^...^.^.^.^.^.^.^...^.^.^.^.^.^.^.^.^...^.^.^.^.^.^.^...^...^.^.....
|
||||||
|
.............................................................................................................................................
|
||||||
|
....^...^...^.^.^.^...^.^.^...^.^.....^.^.^...^.^.^.^...^.^.^.^.^...^.^.^.^.^...^.^.^.^.^.^.......^.^.^.^.^.....^.^.^.^...^.^.^.^.^...^.^....
|
||||||
|
.............................................................................................................................................
|
||||||
|
...^.^...^...^.......^...^.^.^...^.^.^.^.^.^.^.^.^.^.^...^.^...^.^.^.^.^...^...^.^...^...^.^.^.^.^.^.^.^.^.....^...^.^...^.^...^.^.^.^...^...
|
||||||
|
.............................................................................................................................................
|
||||||
|
..^.^.........^.^.^.^.^.^.^.^.^.^...^.......^.^.^.^...^.^.^.^.^.^.^.^.^.^.^.^.^.^.^.^...........^.....^.^.^.^.^.^.^.^.^.^.^.^.^...^.^...^.^..
|
||||||
|
.............................................................................................................................................
|
||||||
|
.^.^.^.^.^.....^.^.^.^.^.^.^.^.^.^.....^.^...^.^.^.^.^.^...^.^...^.^.^.^.^...^...^...^...^.^.^.^.^.^...^.^.^.^.^.^.^.^...^.^.^.^.^.^.^.....^.
|
||||||
|
.............................................................................................................................................
|
||||||
16
2025/inputs/07_example.txt
Normal file
16
2025/inputs/07_example.txt
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
.......S.......
|
||||||
|
...............
|
||||||
|
.......^.......
|
||||||
|
...............
|
||||||
|
......^.^......
|
||||||
|
...............
|
||||||
|
.....^.^.^.....
|
||||||
|
...............
|
||||||
|
....^.^...^....
|
||||||
|
...............
|
||||||
|
...^.^...^.^...
|
||||||
|
...............
|
||||||
|
..^...^.....^..
|
||||||
|
...............
|
||||||
|
.^.^.^.^.^...^.
|
||||||
|
...............
|
||||||
1000
2025/inputs/08_1.txt
Normal file
1000
2025/inputs/08_1.txt
Normal file
File diff suppressed because it is too large
Load Diff
20
2025/inputs/08_example.txt
Normal file
20
2025/inputs/08_example.txt
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
162,817,812
|
||||||
|
57,618,57
|
||||||
|
906,360,560
|
||||||
|
592,479,940
|
||||||
|
352,342,300
|
||||||
|
466,668,158
|
||||||
|
542,29,236
|
||||||
|
431,825,988
|
||||||
|
739,650,466
|
||||||
|
52,470,668
|
||||||
|
216,146,977
|
||||||
|
819,987,18
|
||||||
|
117,168,530
|
||||||
|
805,96,715
|
||||||
|
346,949,466
|
||||||
|
970,615,88
|
||||||
|
941,993,340
|
||||||
|
862,61,35
|
||||||
|
984,92,344
|
||||||
|
425,690,689
|
||||||
496
2025/inputs/09_1.txt
Normal file
496
2025/inputs/09_1.txt
Normal file
@@ -0,0 +1,496 @@
|
|||||||
|
98149,50096
|
||||||
|
98149,51320
|
||||||
|
98283,51320
|
||||||
|
98283,52552
|
||||||
|
98418,52552
|
||||||
|
98418,53717
|
||||||
|
97561,53717
|
||||||
|
97561,54916
|
||||||
|
97402,54916
|
||||||
|
97402,56191
|
||||||
|
97852,56191
|
||||||
|
97852,57374
|
||||||
|
97504,57374
|
||||||
|
97504,58479
|
||||||
|
96769,58479
|
||||||
|
96769,59792
|
||||||
|
97171,59792
|
||||||
|
97171,60938
|
||||||
|
96714,60938
|
||||||
|
96714,62177
|
||||||
|
96649,62177
|
||||||
|
96649,63356
|
||||||
|
96328,63356
|
||||||
|
96328,64508
|
||||||
|
95920,64508
|
||||||
|
95920,65463
|
||||||
|
94945,65463
|
||||||
|
94945,66631
|
||||||
|
94632,66631
|
||||||
|
94632,67713
|
||||||
|
94088,67713
|
||||||
|
94088,69039
|
||||||
|
94123,69039
|
||||||
|
94123,70099
|
||||||
|
93515,70099
|
||||||
|
93515,71061
|
||||||
|
92720,71061
|
||||||
|
92720,72524
|
||||||
|
92910,72524
|
||||||
|
92910,73136
|
||||||
|
91489,73136
|
||||||
|
91489,74419
|
||||||
|
91293,74419
|
||||||
|
91293,75648
|
||||||
|
90966,75648
|
||||||
|
90966,76623
|
||||||
|
90221,76623
|
||||||
|
90221,77323
|
||||||
|
89089,77323
|
||||||
|
89089,78420
|
||||||
|
88541,78420
|
||||||
|
88541,79539
|
||||||
|
88005,79539
|
||||||
|
88005,80155
|
||||||
|
86832,80155
|
||||||
|
86832,81503
|
||||||
|
86549,81503
|
||||||
|
86549,82398
|
||||||
|
85716,82398
|
||||||
|
85716,82997
|
||||||
|
84574,82997
|
||||||
|
84574,84354
|
||||||
|
84217,84354
|
||||||
|
84217,84671
|
||||||
|
82826,84671
|
||||||
|
82826,85481
|
||||||
|
81928,85481
|
||||||
|
81928,86391
|
||||||
|
81114,86391
|
||||||
|
81114,87480
|
||||||
|
80436,87480
|
||||||
|
80436,88103
|
||||||
|
79372,88103
|
||||||
|
79372,89046
|
||||||
|
78552,89046
|
||||||
|
78552,89441
|
||||||
|
77335,89441
|
||||||
|
77335,89838
|
||||||
|
76141,89838
|
||||||
|
76141,90654
|
||||||
|
75227,90654
|
||||||
|
75227,91365
|
||||||
|
74239,91365
|
||||||
|
74239,92081
|
||||||
|
73247,92081
|
||||||
|
73247,92782
|
||||||
|
72239,92782
|
||||||
|
72239,93026
|
||||||
|
70998,93026
|
||||||
|
70998,93413
|
||||||
|
69842,93413
|
||||||
|
69842,94169
|
||||||
|
68850,94169
|
||||||
|
68850,94753
|
||||||
|
67772,94753
|
||||||
|
67772,94968
|
||||||
|
66552,94968
|
||||||
|
66552,95166
|
||||||
|
65337,95166
|
||||||
|
65337,96281
|
||||||
|
64419,96281
|
||||||
|
64419,96109
|
||||||
|
63094,96109
|
||||||
|
63094,96659
|
||||||
|
61981,96659
|
||||||
|
61981,96466
|
||||||
|
60685,96466
|
||||||
|
60685,96669
|
||||||
|
59493,96669
|
||||||
|
59493,97420
|
||||||
|
58401,97420
|
||||||
|
58401,97047
|
||||||
|
57111,97047
|
||||||
|
57111,98113
|
||||||
|
56029,98113
|
||||||
|
56029,97715
|
||||||
|
54755,97715
|
||||||
|
54755,97760
|
||||||
|
53541,97760
|
||||||
|
53541,97640
|
||||||
|
52320,97640
|
||||||
|
52320,98082
|
||||||
|
51122,98082
|
||||||
|
51122,98415
|
||||||
|
49903,98415
|
||||||
|
49903,97492
|
||||||
|
48701,97492
|
||||||
|
48701,98259
|
||||||
|
47455,98259
|
||||||
|
47455,97501
|
||||||
|
46287,97501
|
||||||
|
46287,97603
|
||||||
|
45063,97603
|
||||||
|
45063,97948
|
||||||
|
43795,97948
|
||||||
|
43795,97422
|
||||||
|
42638,97422
|
||||||
|
42638,96938
|
||||||
|
41490,96938
|
||||||
|
41490,96859
|
||||||
|
40272,96859
|
||||||
|
40272,96275
|
||||||
|
39163,96275
|
||||||
|
39163,96615
|
||||||
|
37830,96615
|
||||||
|
37830,95679
|
||||||
|
36830,95679
|
||||||
|
36830,95815
|
||||||
|
35524,95815
|
||||||
|
35524,95641
|
||||||
|
34297,95641
|
||||||
|
34297,94734
|
||||||
|
33330,94734
|
||||||
|
33330,94188
|
||||||
|
32246,94188
|
||||||
|
32246,93771
|
||||||
|
31112,93771
|
||||||
|
31112,93562
|
||||||
|
29878,93562
|
||||||
|
29878,92941
|
||||||
|
28829,92941
|
||||||
|
28829,92633
|
||||||
|
27621,92633
|
||||||
|
27621,92127
|
||||||
|
26507,92127
|
||||||
|
26507,90926
|
||||||
|
25797,90926
|
||||||
|
25797,91063
|
||||||
|
24291,91063
|
||||||
|
24291,89724
|
||||||
|
23705,89724
|
||||||
|
23705,89668
|
||||||
|
22272,89668
|
||||||
|
22272,88546
|
||||||
|
21576,88546
|
||||||
|
21576,88024
|
||||||
|
20445,88024
|
||||||
|
20445,87398
|
||||||
|
19380,87398
|
||||||
|
19380,86115
|
||||||
|
18869,86115
|
||||||
|
18869,85268
|
||||||
|
18007,85268
|
||||||
|
18007,84643
|
||||||
|
16936,84643
|
||||||
|
16936,83906
|
||||||
|
15957,83906
|
||||||
|
15957,82842
|
||||||
|
15310,82842
|
||||||
|
15310,82330
|
||||||
|
14071,82330
|
||||||
|
14071,80937
|
||||||
|
13816,80937
|
||||||
|
13816,80518
|
||||||
|
12418,80518
|
||||||
|
12418,79314
|
||||||
|
11971,79314
|
||||||
|
11971,78448
|
||||||
|
11096,78448
|
||||||
|
11096,77441
|
||||||
|
10404,77441
|
||||||
|
10404,76510
|
||||||
|
9599,76510
|
||||||
|
9599,75048
|
||||||
|
9633,75048
|
||||||
|
9633,74084
|
||||||
|
8898,74084
|
||||||
|
8898,73037
|
||||||
|
8297,73037
|
||||||
|
8297,71955
|
||||||
|
7763,71955
|
||||||
|
7763,71218
|
||||||
|
6522,71218
|
||||||
|
6522,69800
|
||||||
|
6678,69800
|
||||||
|
6678,68987
|
||||||
|
5508,68987
|
||||||
|
5508,67570
|
||||||
|
5755,67570
|
||||||
|
5755,66636
|
||||||
|
4802,66636
|
||||||
|
4802,65333
|
||||||
|
4844,65333
|
||||||
|
4844,64195
|
||||||
|
4435,64195
|
||||||
|
4435,63235
|
||||||
|
3393,63235
|
||||||
|
3393,61931
|
||||||
|
3537,61931
|
||||||
|
3537,60707
|
||||||
|
3437,60707
|
||||||
|
3437,59485
|
||||||
|
3372,59485
|
||||||
|
3372,58325
|
||||||
|
3010,58325
|
||||||
|
3010,57128
|
||||||
|
2838,57128
|
||||||
|
2838,55962
|
||||||
|
2421,55962
|
||||||
|
2421,54802
|
||||||
|
1820,54802
|
||||||
|
1820,53521
|
||||||
|
2508,53521
|
||||||
|
2508,52311
|
||||||
|
2539,52311
|
||||||
|
2539,51115
|
||||||
|
2219,51115
|
||||||
|
2219,50089
|
||||||
|
94539,50089
|
||||||
|
94539,48701
|
||||||
|
2499,48701
|
||||||
|
2499,47465
|
||||||
|
1920,47465
|
||||||
|
1920,46251
|
||||||
|
2036,46251
|
||||||
|
2036,45011
|
||||||
|
1902,45011
|
||||||
|
1902,43822
|
||||||
|
2259,43822
|
||||||
|
2259,42693
|
||||||
|
2933,42693
|
||||||
|
2933,41483
|
||||||
|
3024,41483
|
||||||
|
3024,40315
|
||||||
|
3347,40315
|
||||||
|
3347,39095
|
||||||
|
3432,39095
|
||||||
|
3432,37844
|
||||||
|
3437,37844
|
||||||
|
3437,36624
|
||||||
|
3606,36624
|
||||||
|
3606,35415
|
||||||
|
3840,35415
|
||||||
|
3840,34519
|
||||||
|
5004,34519
|
||||||
|
5004,33174
|
||||||
|
4846,33174
|
||||||
|
4846,32153
|
||||||
|
5579,32153
|
||||||
|
5579,31033
|
||||||
|
6045,31033
|
||||||
|
6045,29764
|
||||||
|
6189,29764
|
||||||
|
6189,28954
|
||||||
|
7311,28954
|
||||||
|
7311,27722
|
||||||
|
7558,27722
|
||||||
|
7558,26834
|
||||||
|
8459,26834
|
||||||
|
8459,25657
|
||||||
|
8836,25657
|
||||||
|
8836,24362
|
||||||
|
9050,24362
|
||||||
|
9050,23308
|
||||||
|
9676,23308
|
||||||
|
9676,22505
|
||||||
|
10665,22505
|
||||||
|
10665,21542
|
||||||
|
11408,21542
|
||||||
|
11408,20615
|
||||||
|
12195,20615
|
||||||
|
12195,19321
|
||||||
|
12528,19321
|
||||||
|
12528,18910
|
||||||
|
13931,18910
|
||||||
|
13931,18053
|
||||||
|
14782,18053
|
||||||
|
14782,16947
|
||||||
|
15368,16947
|
||||||
|
15368,15986
|
||||||
|
16122,15986
|
||||||
|
16122,15275
|
||||||
|
17123,15275
|
||||||
|
17123,14036
|
||||||
|
17638,14036
|
||||||
|
17638,13749
|
||||||
|
19005,13749
|
||||||
|
19005,12493
|
||||||
|
19542,12493
|
||||||
|
19542,11719
|
||||||
|
20490,11719
|
||||||
|
20490,11063
|
||||||
|
21528,11063
|
||||||
|
21528,10484
|
||||||
|
22613,10484
|
||||||
|
22613,9632
|
||||||
|
23511,9632
|
||||||
|
23511,9231
|
||||||
|
24702,9231
|
||||||
|
24702,8969
|
||||||
|
25957,8969
|
||||||
|
25957,7711
|
||||||
|
26638,7711
|
||||||
|
26638,7493
|
||||||
|
27904,7493
|
||||||
|
27904,6884
|
||||||
|
28957,6884
|
||||||
|
28957,6354
|
||||||
|
30051,6354
|
||||||
|
30051,5683
|
||||||
|
31086,5683
|
||||||
|
31086,5537
|
||||||
|
32342,5537
|
||||||
|
32342,4632
|
||||||
|
33300,4632
|
||||||
|
33300,4368
|
||||||
|
34504,4368
|
||||||
|
34504,4004
|
||||||
|
35669,4004
|
||||||
|
35669,3899
|
||||||
|
36908,3899
|
||||||
|
36908,3887
|
||||||
|
38158,3887
|
||||||
|
38158,2838
|
||||||
|
39155,2838
|
||||||
|
39155,2664
|
||||||
|
40370,2664
|
||||||
|
40370,2502
|
||||||
|
41585,2502
|
||||||
|
41585,2442
|
||||||
|
42811,2442
|
||||||
|
42811,2202
|
||||||
|
44009,2202
|
||||||
|
44009,1773
|
||||||
|
45193,1773
|
||||||
|
45193,1779
|
||||||
|
46424,1779
|
||||||
|
46424,2113
|
||||||
|
47667,2113
|
||||||
|
47667,2461
|
||||||
|
48890,2461
|
||||||
|
48890,1879
|
||||||
|
50096,1879
|
||||||
|
50096,2150
|
||||||
|
51308,2150
|
||||||
|
51308,2067
|
||||||
|
52526,2067
|
||||||
|
52526,2162
|
||||||
|
53739,2162
|
||||||
|
53739,2567
|
||||||
|
54919,2567
|
||||||
|
54919,2277
|
||||||
|
56174,2277
|
||||||
|
56174,2732
|
||||||
|
57337,2732
|
||||||
|
57337,2982
|
||||||
|
58524,2982
|
||||||
|
58524,2825
|
||||||
|
59792,2825
|
||||||
|
59792,3597
|
||||||
|
60865,3597
|
||||||
|
60865,3656
|
||||||
|
62098,3656
|
||||||
|
62098,4231
|
||||||
|
63195,4231
|
||||||
|
63195,3956
|
||||||
|
64547,3956
|
||||||
|
64547,4822
|
||||||
|
65543,4822
|
||||||
|
65543,5323
|
||||||
|
66648,5323
|
||||||
|
66648,5708
|
||||||
|
67794,5708
|
||||||
|
67794,6332
|
||||||
|
68842,6332
|
||||||
|
68842,6545
|
||||||
|
70071,6545
|
||||||
|
70071,7095
|
||||||
|
71152,7095
|
||||||
|
71152,7819
|
||||||
|
72140,7819
|
||||||
|
72140,8090
|
||||||
|
73371,8090
|
||||||
|
73371,8558
|
||||||
|
74506,8558
|
||||||
|
74506,9355
|
||||||
|
75446,9355
|
||||||
|
75446,9575
|
||||||
|
76758,9575
|
||||||
|
76758,10546
|
||||||
|
77577,10546
|
||||||
|
77577,11065
|
||||||
|
78709,11065
|
||||||
|
78709,12226
|
||||||
|
79360,12226
|
||||||
|
79360,13026
|
||||||
|
80271,13026
|
||||||
|
80271,13333
|
||||||
|
81605,13333
|
||||||
|
81605,14454
|
||||||
|
82243,14454
|
||||||
|
82243,15429
|
||||||
|
82993,15429
|
||||||
|
82993,16448
|
||||||
|
83686,16448
|
||||||
|
83686,16730
|
||||||
|
85140,16730
|
||||||
|
85140,17580
|
||||||
|
86027,17580
|
||||||
|
86027,18788
|
||||||
|
86504,18788
|
||||||
|
86504,19587
|
||||||
|
87450,19587
|
||||||
|
87450,20649
|
||||||
|
88074,20649
|
||||||
|
88074,21621
|
||||||
|
88808,21621
|
||||||
|
88808,22620
|
||||||
|
89504,22620
|
||||||
|
89504,23897
|
||||||
|
89778,23897
|
||||||
|
89778,24528
|
||||||
|
91047,24528
|
||||||
|
91047,25567
|
||||||
|
91695,25567
|
||||||
|
91695,26551
|
||||||
|
92445,26551
|
||||||
|
92445,27672
|
||||||
|
92953,27672
|
||||||
|
92953,29003
|
||||||
|
93020,29003
|
||||||
|
93020,29887
|
||||||
|
94005,29887
|
||||||
|
94005,31018
|
||||||
|
94478,31018
|
||||||
|
94478,32106
|
||||||
|
95057,32106
|
||||||
|
95057,33388
|
||||||
|
95127,33388
|
||||||
|
95127,34671
|
||||||
|
95140,34671
|
||||||
|
95140,35702
|
||||||
|
95891,35702
|
||||||
|
95891,36936
|
||||||
|
96002,36936
|
||||||
|
96002,38053
|
||||||
|
96524,38053
|
||||||
|
96524,39176
|
||||||
|
97068,39176
|
||||||
|
97068,40340
|
||||||
|
97484,40340
|
||||||
|
97484,41668
|
||||||
|
97025,41668
|
||||||
|
97025,42848
|
||||||
|
97316,42848
|
||||||
|
97316,44004
|
||||||
|
97834,44004
|
||||||
|
97834,45193
|
||||||
|
98224,45193
|
||||||
|
98224,46461
|
||||||
|
97726,46461
|
||||||
|
97726,47670
|
||||||
|
97819,47670
|
||||||
|
97819,48871
|
||||||
|
98356,48871
|
||||||
|
98356,50096
|
||||||
8
2025/inputs/09_example.txt
Normal file
8
2025/inputs/09_example.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
7,1
|
||||||
|
11,1
|
||||||
|
11,7
|
||||||
|
9,7
|
||||||
|
9,5
|
||||||
|
2,5
|
||||||
|
2,3
|
||||||
|
7,3
|
||||||
200
2025/inputs/10_1.txt
Normal file
200
2025/inputs/10_1.txt
Normal file
@@ -0,0 +1,200 @@
|
|||||||
|
[######] (0,1,3,5) (0,4) (0,1) (1,4) (1,2) (1,3,4,5) {21,37,18,9,8,9}
|
||||||
|
[..#.##] (0,1,3,4,5) (3) (0,1,3,5) (3,5) (1,5) (0,2,3,5) (0,1,2,3) (0,2,4) {25,12,13,57,14,38}
|
||||||
|
[....###] (1,2) (4,5,6) (2,3,6) (0,1,2,6) (0,4,5,6) (1,4) (0,1,2,3,4) (2,4,5) {43,172,55,21,159,17,33}
|
||||||
|
[...#..#] (1,5) (0,1,4,5) (1,2) (2,3,4,6) (1,3,5,6) (0,1,2,3,5) (0,1,3,4,6) {42,85,34,41,27,52,26}
|
||||||
|
[...##] (0,3) (0,1,2,4) (3,4) (0,1,3) (1,4) (0,1,2,3) (0,1,2) {63,62,36,39,35}
|
||||||
|
[###..#####] (3,4,5,6) (0,2,3,5,6,8,9) (0,1,2,3,4,5,8,9) (1,6,7,8) (0,1,2,4,5,6,8,9) (0,1,3,5,7,8) (2,5,6,7) (1,2,4,5,7,9) (0,3,7,9) {82,53,68,90,49,107,71,61,69,65}
|
||||||
|
[#####] (0,1,2,4) (0,2,4) (0,2) (0,1,2) (3,4) {49,16,49,4,32}
|
||||||
|
[...#] (2,3) (0,1) (0,2) (3) {8,5,22,19}
|
||||||
|
[.###..#] (0,4,5) (1,4,6) (3,5,6) (1,2,3,5,6) (1,2) (3,6) (0,1,2) (0,1,6) {19,54,20,23,15,6,57}
|
||||||
|
[..##..##.#] (1,3,4,7) (1,2,3,4,5,6,7,9) (1,3,5,6,8,9) (0,2,4,6,8) (3,4,8) (0,1,2,3,6,8) (0,1,2,3,4,5,7) (1,2,3,4,6,8) (0,3,5,8) (0,5,8) (0,1,3,7) (6,9) {243,261,221,287,46,51,255,36,264,42}
|
||||||
|
[.##..##..#] (4,5,6,7) (0,1,3,5,6,7,8,9) (1,3,4,9) (2,3,4,6,7,8) (0,1,2,3,5,7,8,9) (0,1,8) (7,8) (2,3,4,5,6) {28,42,26,46,42,39,34,30,36,27}
|
||||||
|
[##.###] (1,2,4) (0,2,3,4) (0,1,2,3,4) (1,4,5) {27,220,219,27,235,16}
|
||||||
|
[###..] (0,1,4) (0,3,4) (0,1,2) {212,210,14,2,198}
|
||||||
|
[#..#...##] (0,2,3,8) (2,3,5,7,8) (1,3,8) (1,3,4,5,6,7) (2,3,5,6,7) (0,1) (0,3,4) (0,5,6,7) (1,3,4,5,6,8) {27,127,53,172,119,155,136,146,46}
|
||||||
|
[#...##] (0,3,4) (2,3,4) (1,5) (3,4) (0,2,4,5) {3,6,18,29,31,8}
|
||||||
|
[###.......] (3,4,5,7) (0,3,5,6,9) (2,4,6,8,9) (1,2,6,8,9) (0,3,4,5,6,7,8,9) (0,5,6,9) (3,5,6,9) (0,6,8,9) (4,5,6,7,9) (0,1,2,3,6,9) {43,20,34,54,44,76,94,30,27,94}
|
||||||
|
[##.#.#.##.] (0,2,4,5,6,7,8,9) (1,2,4,6,7,9) (1,4,5,6,8,9) (3,4,6) (0,2,7) (1,3,4,5,6,7,8,9) (0,5,6,7,8,9) (0,1,2,3,4,7,9) (0,1,4,5,6,7,9) (4,5,6,7,8,9) {54,52,50,18,72,47,71,85,30,71}
|
||||||
|
[...####.] (2,3) (1,3,4,5,7) (1,3,6) (0,1,3,5,6,7) (1,3,7) (0,1,4,5,6,7) (2,4,6,7) (1,7) (1,2,3,5) (1,2,3,4,6) {31,100,51,87,60,64,64,65}
|
||||||
|
[###.#..##] (4,5,6,8) (1,2,3,5,6,8) (0,2,3,4,5,8) (0,1,2,4,7,8) (0,4,5,7,8) (0,1,2,3,4,7,8) (6,7) {59,28,42,34,68,44,16,50,70}
|
||||||
|
[###.#...#.] (1,2,9) (0,1,2,3,4,5,6,8) (1,3,6) (0,1,7) (3,4,5,8) (0,2,3,4,5,6,7,8) (0,1,2,4,7) (0,3,4,7,8,9) (0,1,3,4,5,6,7,8) {263,252,42,250,257,222,220,250,239,20}
|
||||||
|
[#.#...#] (2,4,6) (2,3) (0,2,6) (3,4) (1,2,3,4,5) (1,5,6) (0,2,4,5,6) {18,8,42,25,20,12,23}
|
||||||
|
[#.#.] (0,2) (0,1,3) {12,3,9,3}
|
||||||
|
[.#..#.] (0,1) (0,1,5) (3,5) (1,2,5) (1,4) {14,27,4,4,9,10}
|
||||||
|
[#####..] (0,4,6) (0,1,2,3,4,6) (0,2,3,4,6) (0,1,5) (2,5) (0,1,2,3,5,6) {30,22,24,13,15,26,18}
|
||||||
|
[...##] (0,1,2) (2,3) (0,2,4) (0,4) (1,2) {23,199,219,12,12}
|
||||||
|
[.##..] (0,1,3) (0,3) (1,2) (0,3,4) {37,22,10,37,7}
|
||||||
|
[.#...#] (0,5) (0,1,2,3) (2,3) (1,3,4,5) (1,2,4,5) {36,212,37,200,195,214}
|
||||||
|
[.##.##..#.] (3,4,5,6,7,8) (3,7) (1,4,5,6,7,8,9) (1,2,4,9) (0,1,5,7,8,9) (0,1,2,4,6,8,9) (0,1,2,3,4,5,8) (0,3) (0,2,3,4,5,6,7) (0,1,5) (0,5,9) (0,1,2,3,4,5,8,9) (3,6) {183,186,153,191,181,205,55,66,166,69}
|
||||||
|
[.#...#] (1,5) (0,1,3,4) (0,1,2,3,4,5) (0,2) {45,48,29,36,36,32}
|
||||||
|
[...#.#] (0,1,2,3,5) (0,2,3,4) (3,5) (1,2,3,5) {21,18,33,37,15,22}
|
||||||
|
[##.#..###] (0,1,2,3,5,6,8) (1,2,3,4) (0,1,5,6,8) (1,2,4,5,6,8) (0,7,8) (1,2,3,4,6,7) (2,3,4,5,6,7,8) {57,60,145,139,128,148,159,136,168}
|
||||||
|
[....#.#] (3,4) (0,2,5,6) (1,6) (2,3,4,6) (0,2,4,5) {13,10,18,14,25,13,17}
|
||||||
|
[#......] (0,1,2,4,5) (0,1,2,3,4) (2,4,5,6) (1,2,3,4,6) (0,1,2,3,6) (0,1) (3,5,6) {43,47,64,39,49,35,41}
|
||||||
|
[#.....##] (1,6,7) (0,2,4,5,6) (0,3,4) (3,4,6) (0,1,2,4,5,6,7) (0,1,7) (0,6,7) (1,4,7) {42,39,24,16,52,24,36,42}
|
||||||
|
[##....###] (4,7,8) (0,2,3,4,5,6,8) (0,1,3,5,6,8) (1,2,5,7,8) (0,1,2,4,5,6,8) (4,6) (3,4,5,6,7) (0,1,2,3,5,7,8) {39,45,50,48,50,72,52,52,56}
|
||||||
|
[..##....] (0,3,7) (0,2,3,4,5,7) (1,4,7) (1,2,3,4,5,6) (2,3,4,7) (0,6) (0,1,2,5,6) {38,184,198,192,190,195,197,19}
|
||||||
|
[...##] (0,1,2,4) (0,2,4) (1,3,4) (0,1,2) (1,2) (1,2,3,4) (1) {41,69,58,21,50}
|
||||||
|
[#.#......] (0,1,5,6,7) (0,2,3,4,5,7,8) (0,1,2,3,4,5,8) (0,1,2,4,6) (1,3,4,5) (1,3,4,6,8) (3,5,6,7,8) (1,2,8) (6,8) (6,7,8) {14,29,16,28,20,22,54,26,60}
|
||||||
|
[.##..#..##] (1,2,4,6,8) (0,1,2,3,4,5,6,8,9) (0,2,3,4,8,9) (4,5) (0,1,2,3,6,8,9) (0,3) (0,2,3,4,6,7,9) (0,3,4,6,7,8) (0,3,4,5,7,8,9) {85,39,42,85,211,192,53,32,70,56}
|
||||||
|
[#...#] (0,1,2,3) (1,2,3,4) (1,2,3) {19,35,35,35,0}
|
||||||
|
[#####] (0,1,3,4) (2) (0,2,3) {10,1,12,10,1}
|
||||||
|
[.##..#..#.] (0,1,2,3,6,7,8,9) (0,1,4,9) (2,3,4,6,9) (0,1,2,3,4) (7,9) (1,2,3,4,5,6,7,9) (8) (1,4,5,6,7,8,9) (1,4,6,8) (0,2,4,6) (0,4,8) (0,1,3,5,6,7,8) (7) {46,60,51,51,69,30,56,48,139,57}
|
||||||
|
[..##.###.] (1,5,8) (0,5,7,8) (0,1,3,4,6,7,8) (1,2,3,4,5) (6,8) (3,5,7,8) (0,1,2) (4,6,8) (0,1,6,7) (4,5,8) {179,67,33,28,37,198,39,172,202}
|
||||||
|
[#...##.] (0,1,2,3,5) (0,1,5) (0,5) (0,1,3,4,5,6) (1,2,4,6) (1,6) (1,4) (0,1,2,3,4,6) (4) {50,60,30,33,55,34,29}
|
||||||
|
[.#.#] (0,1,2) (1,3) {190,210,190,20}
|
||||||
|
[#.###.#.#] (1,4,8) (0,2,4,5,6,7,8) (0,1,2,3,5,7,8) (0,1,4,6) (3,4,5,6,7) (1,4,6) (0,2,4,5,7,8) (0,1,2,3,5,6,7) (0,1) {52,58,34,25,73,48,63,48,41}
|
||||||
|
[..#.....#] (0,1,2,3,6,7,8) (0,1,2,3,4,6,7,8) (0,1,2,4,5,8) (0,1,2,4,6,8) (0,1,2,3,4,7,8) (1,2,3,4,6,7,8) (0,1,3,6,7) (2,5,6,8) {185,193,81,158,63,18,178,158,81}
|
||||||
|
[#####..##] (0,1,4,5,6,7,8) (6,7) (2,3) (0,3,4,5,6,7,8) (1,6) (0,1,2,3,4,7,8) (2,7) (0,3,7,8) (0,2,3,7,8) (2) (1,2,4,5) {86,66,80,88,70,52,65,100,86}
|
||||||
|
[#####.#.#] (0,1,2,5,6,7,8) (1,3,5,6,8) (2,8) (1,2,8) (2,3,4) (2,3,4,6,7) (0,2,3,4,5,7,8) (1) (5,6) (0,1,2,3,4,5,6) (3,4,6,7,8) {204,227,242,240,231,217,239,37,53}
|
||||||
|
[#.....##] (2,3) (0,1,2,3) (3,5) (1,4,6) (6) (0,2,5,7) (1,2,3,4) {20,213,35,34,204,21,195,11}
|
||||||
|
[##.###.#.] (4,6) (5,6) (0,3,7) (0,2,3,4,5,6,7) (1,2,3,7,8) (2,5,6,8) (0,2,8) {32,12,165,38,25,158,166,38,148}
|
||||||
|
[#######.] (1,3,4,5,7) (2,7) (1,2,3,4,5,7) (0,1,4,5,6,7) (1,2,4,5,7) (0,6) {9,62,40,39,62,62,9,66}
|
||||||
|
[#..#] (1,3) (2,3) (0,2) (0,3) (0,1,3) (0) {40,22,15,34}
|
||||||
|
[####.#####] (0,1,5,6,7,8) (0,2,3,4,7,8,9) (0,4,7,8) (1,4,5,7) (2,3,5,7,9) (0,2,3,4,6,7,8) (0,1,2,5,6,8,9) (1,3,4,7,9) (0,1,2,3,5,6,8,9) (0,1,2,3,4,5,9) (5,8,9) (1,4,6,8,9) (0,1,2,3,4,7,8) {233,238,81,87,66,252,209,225,235,106}
|
||||||
|
[.###.] (3) (1,3) (0,2,3) (1,4) (0,1,2) (0,1,4) {26,31,7,24,30}
|
||||||
|
[.###..] (0,1,4) (5) (1,2,4) (2,3) (3,4,5) (1,3) {3,20,204,202,14,18}
|
||||||
|
[...###] (3,5) (3) (0,1,2,5) (0,1,2,3,5) (0,3,4,5) (0,2,3,5) (0,1,3,4) (4,5) {62,27,37,79,44,82}
|
||||||
|
[###...#] (1,2,4) (0,1,5,6) (0,1,2,3,4,6) (2,4,6) (1,4,6) (0,2,4,5,6) (5,6) {30,44,48,4,59,31,55}
|
||||||
|
[#.##..#.] (1,3,5,7) (3,7) (1,2,3,5,6,7) (0,2,3,4,5,6) (0,1) (4,6) (1,7) (1,5) (0,4) (0,5) {58,61,34,48,57,82,53,39}
|
||||||
|
[.#.#....#] (1,3,4,8) (0,1,3,5) (1,2) (0,1,2,3,4,6,7,8) (1,3,8) (0,4,5,7,8) (2,4) {47,55,48,44,64,28,19,38,54}
|
||||||
|
[##.##...#] (2,3,6,8) (5) (1,3,4,5,6,7,8) (1,3,6) (0,3,4,5,8) (0,1,3,6,8) (0,1,4,7) {39,20,14,47,28,25,27,8,47}
|
||||||
|
[.#..#] (0,2,4) (0,4) (0,1,2,3) (1,2,4) {8,12,13,4,12}
|
||||||
|
[.##.#..#.] (0,3,6,7,8) (0,1,2,3,4,6,8) (0,1,3,4,5,7,8) (0,1,2,4,5,6,8) (3,4,8) (4,5) (0,1,2,6,8) {53,45,38,32,56,39,46,15,60}
|
||||||
|
[##..] (0,3) (0,1,2) (1) (1,3) (0,1) (2,3) {37,48,21,39}
|
||||||
|
[..##...] (4,5,6) (0,3) (3,5) (1,2,3,4,6) (1,2,3,5,6) (0,3,5) (0,1,4,5,6) {36,46,38,245,37,238,57}
|
||||||
|
[#####..##] (0,4,6) (0,1,3,5,7,8) (1,4,5,6) (6,7) (1,3,4,5,6,7,8) (0,2,4,5,7,8) (2,5,6) (0,1,3,4,6,7) (1,3,4,5,6) (1,2,3,4,5,8) {32,60,11,45,48,65,63,49,37}
|
||||||
|
[.#.##.####] (0,1,2,3,4,5,6) (1,2,3,4,6) (0,1,2,3,4,5,6,7,9) (1,4) (0,1,2,3,4,6,7) (0,2,5,8) (1,2,6,7,9) (2,7,8) (0,3,4,5,7,8,9) (0,1,2,7,9) (2,3,4,6,7,8,9) (0,2,3,4,5,6,9) (5,7,8,9) {55,75,82,71,84,39,59,81,40,56}
|
||||||
|
[#....] (3) (0,3,4) (0,1,2,3) (0,1,3) (1,2,4) (1,2,3) (0,2) {32,26,18,42,25}
|
||||||
|
[#...#.#.] (0,2,3,4,6) (1,5,7) (0,6) (1,4,5,6,7) (0,1,2,3,4,5,7) (2,3,6) {23,29,29,29,30,29,58,29}
|
||||||
|
[.##.#..#] (0,1,3,4,5,6) (5,6,7) (0,1,3,4,5,7) (0,4,5) (3,4,5,6) (1,4,6) (2,3,4) (0,1,3,4,7) {30,37,3,36,47,39,27,29}
|
||||||
|
[#..#..#.] (2,3,4) (0,1,2,7) (1,2,3,4,5,7) (0,1,2,5,6,7) (0,1,3,4,5,6) (0,2,4,6) (0,2,4,6,7) (0,1,2,4,5) (0,1,2,3,5) (1,2,3,4,6,7) {75,100,105,70,66,71,44,62}
|
||||||
|
[####.] (0,2) (3,4) (1,4) (0,3,4) (0,1,2,4) (0,1,2,3) {42,28,30,31,29}
|
||||||
|
[##.###] (0,3,4,5) (0,1,3,4) (1,4) (1,2,3,5) (1,4,5) {20,51,13,33,39,33}
|
||||||
|
[.#.##] (0,3) (0,2,4) (1,3,4) {21,18,1,38,19}
|
||||||
|
[##..##] (0,1,4) (0,1,3) (1,4) (0,1,2) (2,4,5) (3,5) (0,1,2,3,5) {45,49,27,52,19,43}
|
||||||
|
[.##.] (0,2,3) (0,1) (0,1,3) {158,17,141,151}
|
||||||
|
[...#.#.#.#] (0,1,2,3,4,5,7) (0,2,3,4,6,9) (0,1,2,5,7,8) (0,2,3,4,6,7,8) (1,2,3,6) (1,2,6,8,9) (0,7) (0,2,5,6,8) (4,5) (2,5,8) (1,2,3,4,6,7,8,9) (3,6,7,8,9) {80,55,114,64,65,62,81,63,81,48}
|
||||||
|
[...#..#] (3,6) (2,3,5,6) (1,2,4,5,6) (3,4,6) (0,1,3,4,5,6) (0,1,6) (1,2,3,4,5,6) (0,5,6) {189,197,36,212,204,221,248}
|
||||||
|
[##..#.] (0,1,2,3) (0,2,3,5) (0,2,4,5) (1,2,3) (0,3,5) {42,19,46,36,10,27}
|
||||||
|
[#.###.##] (1,3,4,5) (0,1,3,6,7) (0,1,2,4,6) (3,4,6) (0,1,2,3,4,5,7) (0,2,3,4,5,6) {69,50,53,64,61,41,56,36}
|
||||||
|
[...###] (2,3,4,5) (0,1,3) (0,2,3,4) (2,5) (2,3) (0,1,2,3) (0,3,4,5) {61,30,67,81,36,34}
|
||||||
|
[###...##] (3,4,5) (3,4,5,6,7) (0,1,3,4,5,6,7) (0,2,3,6) (1,3) (1,2,5,6,7) (6) (0,1,2,6,7) (3,7) {33,48,39,212,12,28,69,222}
|
||||||
|
[#.#.] (2,3) (1) (0,2) (1,2,3) (0) (0,1,3) {19,30,34,40}
|
||||||
|
[#.##.] (0,2,3) (2) (1,4) {135,14,140,135,14}
|
||||||
|
[.##...#..#] (5,8) (0,1,2,3,5,7,8,9) (0,1,2,3,4,7,8,9) (4,5,8) (1,2,3,5,7,8) (1,2,6,9) (0,1,2,4) (1,2,3,4,6) (0,1,2,3,4,5,6,7,8) (3,4,6,7,8) (0,2,4,5,7,9) {53,68,84,53,59,64,36,54,60,62}
|
||||||
|
[#.###.##..] (1,2,3,7,8,9) (1,3,5,6,7) (1,4,9) (0,1,3,6,8,9) (0,1,2,5,6) (2,5,7) (0,1,3,4,6,7,9) (2,6,9) {38,68,42,39,11,56,63,39,17,33}
|
||||||
|
[.#.##..] (2,5) (1,3,4,5,6) (0,2,3,4,5) (3,4) (0,1,6) (2,4) (0,3,6) {28,15,42,53,52,50,19}
|
||||||
|
[##..###] (1,3,4,5,6) (0,1,2,3,4,5) (0,3,4) (2,6) (0,1,4,5,6) {34,39,27,37,51,39,50}
|
||||||
|
[######] (2,4,5) (1,3,4,5) (0,1,3,4,5) (0,3,4) (2,3,4,5) (0,1) {29,24,32,39,57,44}
|
||||||
|
[##.##] (1,3) (0,1,2) (0,4) (2,4) (2,3,4) {10,6,24,16,30}
|
||||||
|
[#....#....] (1,4,5,6,8,9) (0,2,4,5,6,9) (1,2,3,4,5,6,7,8) (2,4,6,9) (3,4,7,8) (0,4,5,7,8,9) (0,1,4,6,7,9) (1,4,5,8,9) (0,1,2,3,4,6,7,9) (1,3,6,7,8,9) (0,4,5,6,7,8,9) (0,1,2,4,5,6,7,8) {68,87,58,60,110,79,107,106,98,85}
|
||||||
|
[.##.] (0,2,3) (0,1,3) (1,2) {206,30,204,206}
|
||||||
|
[.###.#] (1,5) (0,2,3,5) (0,1,4,5) (0) (2,4,5) (1,2,3) (1,2,3,4) (1,2,3,5) {20,60,50,49,23,32}
|
||||||
|
[..####.] (0,3,5) (0,2,6) (2,3,4,5) (0,1,2,5,6) (1,3) (0,1,6) {40,21,22,23,5,27,26}
|
||||||
|
[#.###.##.] (0,4,6) (0,1,2,7,8) (0,1,3,6,8) (0,2,3,4,6,7,8) (1,4,7) (1,6,7) (0,1,3,5) (0,2,3,5,6,7,8) (1,3) (8) {81,64,31,63,42,30,68,53,211}
|
||||||
|
[#...##.#.] (0,3) (0,2,3,5,6,7,8) (0,1,2,4,6,8) (1,3,4,5,7,8) (1,2,3,5,6,8) (4,8) (0,1,2,7) (2,4,6) (0,1,2,3,6,7) (0,1,2,5,7,8) (0,3,5,6,8) {77,62,66,65,45,40,59,49,61}
|
||||||
|
[#....#] (1,2,3,4,5) (1,2,3,4) (0,1,2,3,4) (1,2,4,5) {20,41,41,36,41,13}
|
||||||
|
[###..] (0,2,4) (1,2,3) (0,2,3) (1,3) {21,10,27,27,4}
|
||||||
|
[..###] (0,1,2,4) (0,1,3) (2,3) (1,2) {19,19,115,108,13}
|
||||||
|
[.#....##] (1,4,6) (4,5) (0,1,2,6,7) (0,3) (3,4,5,6) (1,2,7) (0,3,4,7) {30,42,32,16,34,13,34,43}
|
||||||
|
[........##] (0,3,4,6,7) (0,1,4,5,6,7,8,9) (0,1,2,3,5,7,9) (0,1,2,4,6,7,9) (4,5,7,8) (1,2,3,4,7) (1,2,3,4,5,6,7,8,9) (0,1) (0,7,9) (0,2,3,5,6,8,9) {83,54,53,60,50,61,51,83,46,74}
|
||||||
|
[....#....] (0,1,2,5,6,7) (5,6) (0,2,5,7,8) (0,1,2,3,5,6,7,8) (1,2,3,4,5,6,8) (3) (1,2,3,4,6,7,8) (1,4,7) {20,27,27,26,16,28,19,29,20}
|
||||||
|
[#.#...] (0,2,3,4,5) (1,2,3,5) (2,4) (1,3,4) (0,3,4) (1,2,4) (0,1,2,4,5) {38,49,35,44,71,22}
|
||||||
|
[.####.] (0,1,3) (0,1,5) (0,1,3,4) (0,1,2) (1,2,5) (0,4) {165,164,130,14,16,31}
|
||||||
|
[.###...] (2,4,6) (1,3) (1,3,4,6) (0,1,3,4) (0,2,5) {17,50,20,50,54,0,37}
|
||||||
|
[###.#] (2,3,4) (0,3,4) (1,2,3,4) (0,1,2,3) (0,1,3) (1,2,4) {21,214,231,54,220}
|
||||||
|
[.#.#] (0,2) (0,1,2) (0,1,3) (2,3) (3) {176,158,46,169}
|
||||||
|
[##....###.] (0,1,4,5,6,7,8,9) (0,2,3,4,6,7,8,9) (0,1,3,4,5,6,8,9) (0,3) (0,1,2,3,5,6,7,9) (0,3,4,5,6) (1,2,3,4,6,7,8) (2,3,5,6) {248,43,55,260,234,235,262,55,46,46}
|
||||||
|
[#.###...#] (0,1,3,4,5,6,7,8) (1,2,3) (3,6) (1,2,5,7,8) (0,1,2,5) (0,1,2,3,5,7) (0,2,3,8) (0,2) {187,46,178,197,20,39,38,24,176}
|
||||||
|
[##.....] (6) (0,1,2,4) (1,2,3,5,6) (0,2,4,6) (1,3,4,6) (0,3,4) (0,1,3,4,5) (2,3,5) (0,1,5) {51,54,59,58,45,57,66}
|
||||||
|
[#.###.#.] (0,1,3) (0,1,2,4,6,7) (1,2,4,5) (0,4) (0,2,4,6) (0,1,2,3,4,5,6) (0,1,2,3,4,6) (0,1,5) (0,2,3,4,5,7) (0,1,2,4,5,6) {105,98,94,39,95,70,73,24}
|
||||||
|
[###.] (0,1,2) (1,2,3) {10,25,25,15}
|
||||||
|
[##....##] (0,2,3,4,5,6) (4,6) (3,4) (0,2,7) (1,2,4,5,6) (1,2,3,4,5,7) (1) {33,210,235,34,244,221,229,25}
|
||||||
|
[.##..#] (1,2,3,4,5) (1,2,3,4) (0,1,3,5) (4,5) (2,4) (2,3) (0,2,3,4,5) (0,3,5) {188,22,36,206,29,191}
|
||||||
|
[..##.#.#] (3,4,5,6) (0,3,6,7) (1,6) (0,1,3,4,6,7) (2,3,5,7) (0,1,2,5,6,7) (1,2,3,5,6) (0,1,3,5,6,7) {32,45,31,240,182,229,238,52}
|
||||||
|
[#..#.#.##] (0,2,4,5,6,7,8) (0,7) (0,1,3,5,8) (1,4,7) (1,2,3,4,5,6,8) (1,6) (3,4,5,8) (3,7) {23,32,8,26,16,28,28,17,28}
|
||||||
|
[..###..] (0,1,2,3,5,6) (2,3,6) (0,1,2,4,5,6) (0,1,2,4,6) (0,3,4,5) (2,3,4) {46,31,48,44,50,45,32}
|
||||||
|
[#.#.] (1,3) (0,3) (0,2) {21,7,15,13}
|
||||||
|
[#..#.] (0,1,2,3) (1,3,4) (2,3) (1,2,4) (1,4) (0,2) {15,36,31,26,24}
|
||||||
|
[.#......] (0,2,3,5,7) (0,1,3,5,6) (0,2,4,5,6) (0,1,2,5,6,7) (3,7) (1,2,3,4,5,7) (4,7) (0,4,5,6,7) {47,25,38,27,40,52,47,51}
|
||||||
|
[##.#...##.] (0,7,8) (4,5,7) (0,2,3,5,6,8) (1,2,4,5,7,8,9) (1,3) (0,2,3,5,6,7,8,9) (0,4) (1,2,3,4,5,6,7,9) {45,45,54,46,56,67,34,63,55,36}
|
||||||
|
[###.#] (1,2,3,4) (1,3) (0,2,3,4) (1,2) {8,31,21,26,8}
|
||||||
|
[.#..#.#] (2,5,6) (1,3,4,6) (0,3,4,5,6) (1,3) (0,3,5,6) (1,2,3,4,5) (3) (0,1,3,5) (0,2,6) {134,35,20,168,115,154,141}
|
||||||
|
[##.##..###] (4) (0,2,3,5,6,8) (0,1,5,8,9) (2,5,6,7,9) (0,1,3,4,7,8,9) (0,1,2,3,4,5,6,9) (4,6) (0,4,6,8,9) (3,5) {80,40,30,59,57,61,52,20,73,63}
|
||||||
|
[##....#.] (0,1,2,4,5,7) (2,3,4,5,6,7) (3,5) (0,4,6,7) (0,1,6) (0,1,2,4,6,7) {42,30,145,140,157,150,157,157}
|
||||||
|
[.#.#] (0,2) (1,3) (0,3) (0,1) {23,20,0,15}
|
||||||
|
[..###...] (0,5,6) (0,5) (1,2,3,4,5,6) (0,1,2,3,6,7) (0,2,3,4,5,6) (2,3,4,7) {40,13,34,34,21,27,29,23}
|
||||||
|
[..#....#.#] (1,5,7,9) (0,3,4,5,6,7,8) (3,5,9) (0,3,5,6,7,9) (7,8) (1,2,3,7,8,9) (0,2,4,5,7,8,9) (0,2,3,4,5,6,7,8) (0,1,3,4) (2,3,5,7,8) (0,1,2,6,7,9) {57,48,42,76,40,79,34,103,70,83}
|
||||||
|
[.###.#.#] (1,2,3,6) (3,5,7) (3,6,7) (1,2,5) (0,2,3,4,6) (0,1,4,5) (0,1,2,3,4,5,7) {26,44,48,61,26,37,41,34}
|
||||||
|
[..###] (0,1,4) (0,3,4) (1,2,3) (0,1,2,3) {14,6,2,10,12}
|
||||||
|
[.#......#] (2,3,6) (1,4) (0,2,3,4,5,7) (0,1,5,6,7) (3,7) (0,1,4,5,6,7) (0,1,3,6,8) (0,1,2,5,8) (3,4,6,7) {38,37,26,33,29,34,40,37,10}
|
||||||
|
[..##] (1,3) (1,2) (0,1,3) (0) (0,2,3) {31,35,28,37}
|
||||||
|
[##..] (0) (0,2,3) (0,2) (0,1,3) (0,3) (1,3) {222,2,15,21}
|
||||||
|
[#.#.#...] (1,2,3,4,5) (0,1) (1,2,3,5,6) (1,3,4,6) (2,3,5,6,7) (1,3,4,6,7) (0,1,2,3,4,5,6) (0,2) (1,3,5,6,7) {40,88,66,80,56,58,65,16}
|
||||||
|
[.#.#] (0,1,3) (0,2) (1) (0,2,3) (0,3) {57,20,28,45}
|
||||||
|
[..####] (1,2,3,5) (1,2) (0,2,3,4,5) (2,3,5) (0,1,3,5) (0,3,4,5) {174,42,57,206,161,206}
|
||||||
|
[...#.#.#] (0,1,2,3,7) (4,5,6) (1,2,4,7) (0,1,2,3,4,6) (0,1,2,7) (4,5) (1,2,3,5,7) {21,39,39,21,39,25,15,29}
|
||||||
|
[##...##..] (0,2,3,4,6,7,8) (3,4,5) (0,1,2,3,4,5) (2,8) (0,2,3,4,5,7,8) (0,1,4,6) (1,3,5,6,7,8) (0,7) {199,20,205,227,209,44,201,215,221}
|
||||||
|
[#...#.] (0,1,4) (0,3) (2,3,4,5) (1,5) (2,4) (1,4,5) (1,4) {2,175,8,6,176,159}
|
||||||
|
[##..#.#] (0,3,4,5,6) (0,2,4,6) (0,1,2,3) (1,2,3,4,5,6) (3,4,5,6) {24,147,162,170,184,169,184}
|
||||||
|
[#.#.#] (1) (3,4) (0,1,3,4) (0,2,3) {15,0,15,31,16}
|
||||||
|
[..##...] (1,3,4,5) (0,3,4,5,6) (1,3,4,5,6) (5,6) (0,4,5,6) (0,2,4,6) {37,31,14,40,68,56,59}
|
||||||
|
[#.##..##] (3,5,6) (1,2,6) (0,3,4,5,6) (0,1,2,5,6,7) (2) (0,2,4,6) (2,6) (0,2,3,4,7) (0,3,6) {48,8,40,38,29,17,40,26}
|
||||||
|
[####.] (1,3,4) (0,2,3) (0,1,2) (0,1,4) (1,3) (4) (0,4) {63,43,33,33,45}
|
||||||
|
[.#..###] (1,2,3) (0,2,4,6) (1,4,5,6) (0,2,4,5) (4,5,6) (0,1,5,6) (0,3,4,6) (1,3,4,5) (1,4) {44,51,29,17,48,49,49}
|
||||||
|
[.....#..] (0,4,5,6,7) (0,2,7) (0,1,5) (0,3,4,5,7) (1,2,4) (2,3,4,6,7) (1,4) {38,32,27,19,53,38,24,34}
|
||||||
|
[##.#.##] (0,2,3,5,6) (1,2) (1,3,4,5,6) (1,4,6) (0,4,5,6) (0,1,2,3,4,5) {49,31,33,43,47,61,54}
|
||||||
|
[.##.###.] (2,3,5,6) (0,1,2,3,5,6) (1,5,7) (0,1,2,4,6,7) (0,2,3,4,5) (0,3,6) {34,33,43,36,21,38,51,31}
|
||||||
|
[....##..#.] (0,2,6) (0,3,6,9) (3,4,5) (0,1,2,4,5,6,7,8) (0,1,2,3,4,6,8) (1,2,7,8,9) (2,3,4,5,7,9) (0,1,2,3,6,9) (0,2,3,4,5,7,8) (7,8,9) (1,2,3,4,5,6,7,8,9) (0,1,3,4,5,7,8,9) {56,38,58,66,44,35,35,38,44,42}
|
||||||
|
[....#.#] (3,4,5,6) (0,3) (2,3,4,5) (0,3,4,6) (1,3,6) (1,3,4,5,6) (0,2,3) (0) (1,2,3,4,5) {43,28,30,78,56,42,46}
|
||||||
|
[##.....#.] (1,4,5,6,7,8) (1,2,3,4,5,7,8) (0,2,3,4,6,7,8) (0,1,7) (2,3,4,5,6,7,8) (0,1,6) (0,1,2,3,5,6,7) (1,3,6,8) (0,3,4,7,8) (0,2,3,4) (4,5) {30,38,44,64,47,32,56,48,56}
|
||||||
|
[..###] (0,3) (0,1,3) (2,3,4) (0,2,4) {33,10,34,31,34}
|
||||||
|
[##..] (0,2,3) (2,3) (0,1) {131,12,119,119}
|
||||||
|
[.#.#.##.##] (1,6,8,9) (0,1,3,7,8,9) (0,1,2,4,5,6,8) (0,1,2,3,4,5,6,7) (0,1,2,4,5,6,8,9) (0,3,4,5,6,9) (0,1,2,3,4,6,8,9) (0,1,4,6) (0,1,3,4) (2,7) (0,3,4,5,7,8,9) {58,51,167,45,47,38,47,167,29,36}
|
||||||
|
[.##.] (0,2) (0,3) (2) (1,2) {8,10,16,3}
|
||||||
|
[###.] (1) (0,2) (0,3) {21,6,20,1}
|
||||||
|
[#.#...] (0,1,5) (0,1,4,5) (1,2,3,4,5) (2,4) (0,2) {20,28,38,13,46,28}
|
||||||
|
[#..#..##] (0,4) (1,2,6) (0,2,6) (1,3,4,5,6,7) (0,2,4,6,7) (0) (4,6,7) (3,4,7) (0,1,2,4,5) {48,190,41,178,218,183,218,200}
|
||||||
|
[##...] (1,2,4) (0,2,4) (0,4) (2) (0,1,2,3) (0,1,2) (2,3) {50,20,54,9,36}
|
||||||
|
[##.#] (0,2,3) (0,2) (1,2) {18,11,29,17}
|
||||||
|
[.#####] (0,2,3,4) (0,4) (0,3,4) (1,2,4,5) {45,12,21,29,57,12}
|
||||||
|
[##.#] (0,1,2) (0,1,3) {31,31,20,11}
|
||||||
|
[.#.#...#.] (1,2,3,4,5,6,8) (1) (2,3,7) (0,3) (4,5,6) (0,1,3,8) (0,1,2,4,7) (2,6,7) (1,3,6,7,8) (1,4,5,7) (4,7) {26,219,40,67,209,190,46,235,42}
|
||||||
|
[...##..#.] (3,6) (2,6) (1,3,4,6,7) (0,2,3,4,5) (2,4,7) (0,2,3,4,6,7,8) (0,2,6) (1,8) (3,7,8) (0,6) {12,28,36,179,25,8,182,25,28}
|
||||||
|
[.##...] (3,4) (1,2,3,4,5) (0) (2,4,5) (3,4,5) (1,2,3,4) (2) {4,22,27,49,51,39}
|
||||||
|
[..#.#..] (0,1,2,4,6) (1,6) (0,2,4,5,6) (0,2,3,4,5,6) (1,4,5) (0,3,5,6) {42,32,38,22,45,40,58}
|
||||||
|
[.#..###] (3,5,6) (1,2,3,6) (0,3,4,5) (0,2,4,5,6) (1,3,4) (0,1,2,3,4,5) (0,1,3) (1,2,3,4,6) (1,6) {38,62,45,88,61,47,49}
|
||||||
|
[##.#..#.] (0,1,2,5,7) (4,5) (2,4,7) (1,2,3,4,6,7) (5) (0,4,6,7) (0,1,2,5,6,7) (0,2,3,5,7) (0,2,3,5) (1,4) {31,6,39,18,36,46,11,33}
|
||||||
|
[....#.##] (0,1,2,3,4,5) (0,1,4,7) (3,4,7) (1,2,3,4,6) (4,5,7) (1,3) (0,2,4,6) {26,26,29,26,45,0,29,16}
|
||||||
|
[##.#] (0,1,2) (0,1,3) {23,23,10,13}
|
||||||
|
[.####.##] (2,4) (1,2,5) (0,2,7) (1,4,5) (1,2,4,5,7) (0,1,2,3,5,6) (0,1,3,4,6) {22,59,52,21,56,53,21,13}
|
||||||
|
[#####] (0,2,4) (3,4) (0,3,4) (1,4) {8,11,6,19,36}
|
||||||
|
[##.......] (0,2,6) (4,6) (5,7) (0,1,2,3,4,5,6) (0,6,7,8) (0,1,2,3,4,6,7) (3,8) (0,1,3,5,7) {54,26,18,38,114,24,142,42,30}
|
||||||
|
[######..] (0,4,5,6) (0,1,2,3,5) (0,1,2,3,4,6) (0,1,2,4,5,6,7) (1,2,5,6,7) (1,6,7) {40,47,44,26,21,47,38,21}
|
||||||
|
[#.###] (2,3,4) (2,3) (0,4) (1,2) (1,3) (0) {12,28,23,35,13}
|
||||||
|
[#.###..##.] (0,5,7,8) (0,2,3,5,6,8,9) (2,3,5,8,9) (2,3,4,7,8) (1,3,4,5,6,7,8,9) (1,2,4,5,6,8) (2,3,4,6,7,8,9) (0,1,2,3,4,5,6) (1,3,4,5,7) (2,3,7,8,9) (0,3,6) {32,188,63,213,189,204,202,179,205,194}
|
||||||
|
[..#.#.#.#] (0,1,2,5,6,7,8) (0,1,2,3,4,6,7) (1,2,3,6,7,8) (1,8) (0,3,4,6) (2) (2,7) (0,4,5,8) (0,2,3,4,5,6,7) (1,2,3,4,7) (1,2,8) {43,50,42,27,40,23,30,32,48}
|
||||||
|
[.#....#] (0,5,6) (0,1,2,3,5,6) (2,3,6) (0,2,4,5,6) (0,1,4,5,6) (0,1,3,4,5,6) {43,30,16,31,21,43,50}
|
||||||
|
[###.#.....] (1,8) (2,5) (0,1,3,4,6,9) (0,1,2,3,5,9) (1,2,3,5,7,8) (3,4) (0,1,2,4,5,8) (0,1,3,4,8) (6,9) (0,1,4,5,6,7,9) (0,1) (1,2,3,5,6,7,8) {52,74,40,56,54,44,42,24,49,37}
|
||||||
|
[##.#] (0) (1,2) (3) (0,2) (1,3) (0,1) {34,30,7,17}
|
||||||
|
[####.##] (2,5) (0,1,2,3,5) (1,3,4) (0,2,6) (0,5) (3,5) {37,186,19,192,175,39,6}
|
||||||
|
[.##.......] (0,1,3,4,5,6,7,8) (0,1,2,3,5,9) (1,6) (2,3,4,6) (3,8) (0,2,3,4,5,6,7,8) (1,4,7,8,9) (2,3,6,7) (4,7,8) (1,3,4,8,9) (0,5,6,7,9) (1,2,5,7,8) {45,67,62,68,59,61,61,93,73,56}
|
||||||
|
[##.##.##] (1,7) (2,3) (0,1,4,5,6,7) (0,1,2,3,4,5,7) (0,1,2,3,4,5) (4) (1) (2,3,4,5,6) (0,5) (1,2,6) {49,86,82,63,68,62,40,41}
|
||||||
|
[#####.####] (0,1,2,5,8) (1,2,3,5,7,8,9) (0,1,2,3,6,7) (1,3,5,6) (1,2,3) (0,1,2,3,4,6,7,8,9) (0,2,4,5,6,7,8,9) (1,2,3,4,5,6,7,9) (0,2,4,7,8) (0,1,2,4,5,6,7,9) {68,91,90,64,38,75,71,69,53,50}
|
||||||
|
[#.#.] (1,3) (0,1,3) (0,3) (2,3) {8,12,109,125}
|
||||||
|
[####.....] (3,4,5,7) (0,1,2,4,5,7) (2,3,6,7,8) (0,1,5,8) (0,1,2,4,5,6,7) (1,3,8) (1,2,4) (0,2,3,5,6,7,8) (0,1,5,6,7,8) {178,180,64,49,55,195,174,201,168}
|
||||||
|
[....#] (0,3,4) (0,2,3,4) (1,2,3) (1,2,3,4) (2,3) {15,10,22,36,18}
|
||||||
|
[.#.#..####] (0,1,3,7,8,9) (0,2,3,4,5,6,8,9) (1,3,4,6,8,9) (0,1,2,4,5,6,7,8) (5,7,8,9) (0,2,3,5,6,7,8,9) (3,4,7) (0,1,2,3,5) (1,9) (4,5,8,9) (0,2,3,4,5,6,7,9) {49,58,32,69,53,49,35,69,60,77}
|
||||||
|
[.#..#] (0,1,2,3,4) (1,3) (0,2,3) (0,3) {201,30,21,221,10}
|
||||||
|
[.#.#] (1,2,3) (0,3) (2,3) (0,1) {19,24,23,33}
|
||||||
|
[##.#] (2) (0,2) (1,2,3) (1,2) (1,3) {8,22,25,13}
|
||||||
|
[.....##] (0,1,3,5,6) (1,4) (0,2,4,5,6) (0,2,3,6) (0,3,4) {185,27,155,184,18,21,175}
|
||||||
|
[..##.##..] (0,1,2,3,4,6,8) (5,6,7,8) (2,3) (0,1,2,5,7,8) (0,1,2,5,8) (1,2,3,5,6,7,8) (2,5,8) (0,1,2,3,4,5,6,7) (2,3,4,5,6,8) {24,40,46,35,16,35,35,32,44}
|
||||||
|
[##.#.#....] (0,2,4,5,6,7,8,9) (0,1,2,3) (5,6) (0,6,8) (4,6) (0,2,3,6,7,8) (1,4,5,8,9) (0,1,2,3,4,5,6,9) (0,1,2,4,5,6,7,8) (1,3,4,5,7) (0,1,5,6,8) (1,2,3,4,5,7,8,9) (1,3,5,6,8,9) {236,237,236,240,74,93,90,61,64,52}
|
||||||
|
[.#..#.###] (0,2,3,5,8) (1,2,5) (1,2,3,4,7,8) (1,3) (1,2,4,6,7,8) (1,2,3,4,6,8) (2,3,4,5,6,7,8) (3,5,7,8) (0,2,4,8) (0,2,5,6,8) {126,41,170,163,59,143,38,53,186}
|
||||||
|
[.###] (0,2) (2,3) (1,2,3) (1,2) {10,23,48,25}
|
||||||
|
[.#.##..#] (0,2,4,7) (2,3,5,6,7) (4,6) (0,1,3,6) (2,6) (3) (0,1,3,4,5,7) (0,7) (0,2,3,4,6) {47,22,169,181,45,157,191,175}
|
||||||
|
[#..#.#.] (0,1,6) (0,1,5) (0,6) (0,1,3,4,5,6) (0,2,3,4,5) (1,2,3,4) (0,2,3,5,6) (2,3,5) {185,37,41,55,33,46,175}
|
||||||
|
[..#.##...#] (1,2,3,4,5,6,7,8) (0,2,4,6,8,9) (0,1,2,3,4,5,6,7,9) (2,7) (4,5,6) (0,2,4,5,8) (1,3,4,5,6,8,9) (1,2,3,4,5,6,7) {35,39,205,39,80,77,61,183,28,19}
|
||||||
|
[...##.] (1,2,3,4) (3,4) (1,2,3,4,5) (1,3) (0,1,2,3) (0,5) (2,4,5) {20,41,41,61,54,47}
|
||||||
3
2025/inputs/10_example.txt
Normal file
3
2025/inputs/10_example.txt
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[.##.] (3) (1,3) (2) (2,3) (0,2) (0,1) {3,5,4,7}
|
||||||
|
[...#.] (0,2,3,4) (2,3) (0,4) (0,1,2) (1,2,3,4) {7,5,12,7,2}
|
||||||
|
[.###.#] (0,1,2,3,4) (0,3,4) (0,1,2,4,5) (1,2) {10,11,11,5,10,5}
|
||||||
Reference in New Issue
Block a user