add 14
This commit is contained in:
@@ -0,0 +1,29 @@
|
|||||||
|
import { open } from 'node:fs/promises';
|
||||||
|
|
||||||
|
const file = await open('./inputs/14');
|
||||||
|
|
||||||
|
let input = (await file.readFile()).toString().split('\n').map(e => e.split(""))
|
||||||
|
|
||||||
|
function fallToUp({ x, y }: { x: number, y: number }) {
|
||||||
|
let index = input.slice(0, y).findLastIndex(e => e[x] === '#' || e[x] === 'O')
|
||||||
|
input[y][x] = '.'
|
||||||
|
input[index + 1][x] = 'O'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
input.forEach((row, rowIndex) => {
|
||||||
|
row.forEach((el, colIndex) => {
|
||||||
|
if (el === 'O') {
|
||||||
|
fallToUp({ x: colIndex, y: rowIndex })
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
const score = input.reduce((prev, curr, index) => {
|
||||||
|
let weight = input.length - index
|
||||||
|
let score = curr.filter(e => e === "O").length * weight
|
||||||
|
return prev + score
|
||||||
|
}, 0)
|
||||||
|
|
||||||
|
console.log(score)
|
||||||
@@ -0,0 +1,199 @@
|
|||||||
|
import { open } from 'node:fs/promises';
|
||||||
|
|
||||||
|
const file = await open('./inputs/14.example');
|
||||||
|
|
||||||
|
let input = (await file.readFile()).toString().split('\n').map(e => e.split(""))
|
||||||
|
|
||||||
|
class Rock {
|
||||||
|
x: number
|
||||||
|
y: number
|
||||||
|
amount: number
|
||||||
|
neighbours: {
|
||||||
|
left: Rock[]
|
||||||
|
right: Rock[]
|
||||||
|
top: Rock[]
|
||||||
|
bottom: Rock[]
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(y: number, x: number) {
|
||||||
|
this.x = x
|
||||||
|
this.y = y
|
||||||
|
this.amount = 0
|
||||||
|
this.neighbours = {
|
||||||
|
left: [],
|
||||||
|
right: [],
|
||||||
|
top: [],
|
||||||
|
bottom: []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function fallToUp({ x, y }: { x: number, y: number }) {
|
||||||
|
let index = input.slice(0, y).findLastIndex(e => e[x] === '#' || e[x] === 'O')
|
||||||
|
input[y][x] = '.'
|
||||||
|
input[index + 1][x] = 'O'
|
||||||
|
}
|
||||||
|
// Make all boulders align to the bottom of rocks
|
||||||
|
input.forEach((row, rowIndex) => {
|
||||||
|
row.forEach((el, colIndex) => {
|
||||||
|
if (el === 'O') {
|
||||||
|
fallToUp({ x: colIndex, y: rowIndex })
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
// Add outer rocks
|
||||||
|
input.unshift("#".repeat(input[0].length).split(''))
|
||||||
|
input.push("#".repeat(input[0].length).split(''))
|
||||||
|
input.forEach(e => {
|
||||||
|
e.push('#')
|
||||||
|
e.unshift('#')
|
||||||
|
})
|
||||||
|
|
||||||
|
const rocks: Rock[] = []
|
||||||
|
input.forEach((row, rowIndex) => {
|
||||||
|
row.forEach((el, columnIndex) => {
|
||||||
|
if (el === "#") {
|
||||||
|
rocks.push(new Rock(rowIndex, columnIndex))
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
// Populate rocks and neighbours
|
||||||
|
rocks.forEach(e => {
|
||||||
|
const firstAtLeft = rocks.findLast(f => f.x < e.x && f.y === e.y)?.x ?? 0
|
||||||
|
|
||||||
|
const firstAtRight = rocks.find(f => f.x > e.x && f.y === e.y)?.x ?? input[0].length - 1
|
||||||
|
// e.neighbours.right = rocks.filter(f => e.y > f.y && e.x < f.x && firstAtRight > f.x)
|
||||||
|
|
||||||
|
const firstAtTop = rocks.findLast(f => f.y < e.y && f.x === e.x)?.y ?? 0
|
||||||
|
// e.neighbours.top = rocks.filter(f => e.y > f.y && e.x > f.x && firstAtTop < f.y)
|
||||||
|
|
||||||
|
const firstAtBottom = rocks.find(f => f.y > e.y && f.x === e.x)?.y ?? input.length - 1
|
||||||
|
// e.neighbours.bottom = rocks.filter(f => e.y < f.y && e.x > f.x && firstAtbottom > f.y)
|
||||||
|
|
||||||
|
//Roll Right
|
||||||
|
for (let i = firstAtBottom - 1; i > e.y; i--) {
|
||||||
|
e.neighbours.right.push(
|
||||||
|
rocks.filter(f => f.y === i && f.x > e.x)
|
||||||
|
.reduce((prev, curr) => {
|
||||||
|
if (curr.x < prev.x) return curr
|
||||||
|
return prev
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
|
e.neighbours.right.reverse()
|
||||||
|
|
||||||
|
//Roll Top
|
||||||
|
for (let i = firstAtRight - 1; i > e.x; i--) {
|
||||||
|
e.neighbours.top.push(
|
||||||
|
rocks.filter(f => f.x === i && f.y < e.y)
|
||||||
|
.reduce((prev, curr) => {
|
||||||
|
if (curr.y > prev.y) return curr
|
||||||
|
return prev
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
e.neighbours.top.reverse()
|
||||||
|
|
||||||
|
//Roll Left
|
||||||
|
for (let i = firstAtTop + 1; i < e.y; i++) {
|
||||||
|
e.neighbours.left.push(
|
||||||
|
rocks.filter(f => f.y === i && f.x < e.x)
|
||||||
|
.reduce((prev, curr) => {
|
||||||
|
if (curr.x > prev.x) return curr
|
||||||
|
return prev
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
|
e.neighbours.left.reverse()
|
||||||
|
//Roll Bottom
|
||||||
|
for (let i = firstAtLeft + 1; i < e.x; i++) {
|
||||||
|
e.neighbours.bottom.push(
|
||||||
|
rocks.filter(f => f.x === i && f.y > e.y)
|
||||||
|
.reduce((prev, curr) => {
|
||||||
|
if (curr.y < prev.y) return curr
|
||||||
|
return prev
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
|
e.neighbours.bottom.reverse()
|
||||||
|
})
|
||||||
|
|
||||||
|
const rightOrder = [...rocks]
|
||||||
|
rightOrder.sort((a, b) => {
|
||||||
|
if (a.x < b.x) return 1
|
||||||
|
if (a.x > b.x) return -1
|
||||||
|
return 0
|
||||||
|
})
|
||||||
|
|
||||||
|
const leftOrder = [...rocks]
|
||||||
|
leftOrder.sort((a, b) => {
|
||||||
|
if (a.x > b.x) return 1
|
||||||
|
if (a.x < b.x) return -1
|
||||||
|
return 0
|
||||||
|
})
|
||||||
|
|
||||||
|
const topOrder = [...rocks]
|
||||||
|
topOrder.sort((a, b) => {
|
||||||
|
if (a.y > b.y) return 1
|
||||||
|
if (a.y < b.y) return -1
|
||||||
|
return 0
|
||||||
|
})
|
||||||
|
|
||||||
|
const bottomOrder = [...rocks]
|
||||||
|
bottomOrder.sort((a, b) => {
|
||||||
|
if (a.y < b.y) return 1
|
||||||
|
if (a.y > b.y) return -1
|
||||||
|
return 0
|
||||||
|
})
|
||||||
|
|
||||||
|
// Populate bounders for each rock
|
||||||
|
rocks.forEach(r => {
|
||||||
|
let offset = 1
|
||||||
|
while (r.y + offset < input.length && input[r.y + offset][r.x] !== '#' && input[r.y + offset][r.x] !== '.') {
|
||||||
|
r.amount++
|
||||||
|
offset++
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
rightOrder.forEach(r => {
|
||||||
|
r.neighbours.right.splice(0, r.amount).forEach(n => n.amount++)
|
||||||
|
r.amount = 0
|
||||||
|
})
|
||||||
|
|
||||||
|
bottomOrder.forEach(r => {
|
||||||
|
r.neighbours.bottom.splice(0, r.amount).forEach(n => n.amount++)
|
||||||
|
r.amount = 0
|
||||||
|
})
|
||||||
|
|
||||||
|
leftOrder.forEach(r => {
|
||||||
|
r.neighbours.left.splice(0, r.amount).forEach(n => n.amount++)
|
||||||
|
r.amount = 0
|
||||||
|
})
|
||||||
|
|
||||||
|
for (let i = 0; i < 999999999; i++) {
|
||||||
|
topOrder.forEach(r => {
|
||||||
|
r.neighbours.top.splice(0, r.amount).forEach(n => n.amount++)
|
||||||
|
r.amount = 0
|
||||||
|
})
|
||||||
|
|
||||||
|
rightOrder.forEach(r => {
|
||||||
|
r.neighbours.right.splice(0, r.amount).forEach(n => n.amount++)
|
||||||
|
r.amount = 0
|
||||||
|
})
|
||||||
|
|
||||||
|
bottomOrder.forEach(r => {
|
||||||
|
r.neighbours.bottom.splice(0, r.amount).forEach(n => n.amount++)
|
||||||
|
r.amount = 0
|
||||||
|
})
|
||||||
|
|
||||||
|
leftOrder.forEach(r => {
|
||||||
|
r.neighbours.left.splice(0, r.amount).forEach(n => n.amount++)
|
||||||
|
r.amount = 0
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const sum = 0
|
||||||
|
|
||||||
|
console
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
...O.....#O#....O###...#..OOO.O#....#.O.O.....O...OO##.#..O.O...........O........#...#.#O........##.
|
||||||
|
#OO..O.##..#..........#.....O...##..O#.#O#O..##.....#.......O....##.#..#OO.O#O#....O..OO.O.....OO#.#
|
||||||
|
.###..O.#...O.#......O.#.......#.........#OO##.....#...#...O....#..O.O.O.#.O..O...##....O.O#.O....O.
|
||||||
|
O.O......OO.O#..#....O...#..##...O.#..##O.#...O.O....OO#......O...#...OO#O......O.....#O.O.#.#O.#O..
|
||||||
|
.#....#.O#...O..O#..O.##..##.O..O...#...#....O#.#..OOO##..O#.#...#.#O.O#...#...O.O...#...O#O.###....
|
||||||
|
.#.....O..#...#..#.##.OO.#O.#........................#...#OO.O.OO.##....O..#OOO#........O.....OO.#OO
|
||||||
|
O....#.O.#O#O..#...#O.O.OO#O.OO......O.O.OOO...O..O.#....#.OO.......OO..#.....O.#..#.OO#.....#.#....
|
||||||
|
.#..##.O....##O#.O...O...#.O..#.O.O.......#..........O#.O#.O..O..O#.#O...#O.#......O.......#.####..O
|
||||||
|
....#......#...##.OOO##O.#.O##.....O.....O.........#...#.#.#.#..#.OO#O.#.###...O...O#O.O.#O..O#O....
|
||||||
|
..O....##O#.....#O..#O..O...O..O....O..O..O..O...OO#...#O....#.#...#O.#..O.O#O..O........O#O......##
|
||||||
|
..O....#.##OO.O..O##..#..OO#.....#O.#.#..#.OO......#.#..O.....O..#.O.O..O.O..........O...#.O#O...O.#
|
||||||
|
O.#.#.O.#OO...OO.......OOO..OO......#..O.OO.#............OO...#O....O.OO#.O....O........###..#...O.#
|
||||||
|
..#.O#...........O.#..O..OO.O#..#OOO.O#...OO..OO....O...#.O#.O.....#.OO.O.O...O.....#.##O.O.....#...
|
||||||
|
#......OO.O#..O.......O...#.O.O#......#.###.#.#.O.......O.#.#..O..O...O#....OO..OOO.O....##...#.#.##
|
||||||
|
.#..O...O.O..OO.....O#...#..O....O..#.....OOO...O##.........O..OOOO#........#OOO#.....O#.O.......#O#
|
||||||
|
#..OO#.O#O...O......#.....#O.#........#.....O.OO..#O#..................#OO.#..O..#...O.....O..##.#..
|
||||||
|
.#.#O..#..OO.O.....OOO......O.O#..O...#....##...###O..OOO.....O....O.....#..#.#....OO..##.......O...
|
||||||
|
...O.OO....#.##O#..O..O.#...O.............O#...O#.##.O....OO.......OO..#OO...O#O#......O....#..OOOO.
|
||||||
|
.O..OO..#..O...#.O#.....##..#.........O.##.....O...O.....#.#.#O.....#OO......#..OO...O......#O.OO.#.
|
||||||
|
.O#OO.......O##...#............OO##....OO.O#.#O.O...#..#...#.OO.O..O.O.O#O..O...#........#.#O...O...
|
||||||
|
.#.#.O#OOO.##OO...O..O.O##.O.O#....#O....####.O.O..#..O..O.O.#....O..#....O..#......O.O.#OO..#.O.#..
|
||||||
|
...OOO...O.....O....O......OO#...#....OO.#.O#O....O#.O.O...#.O....O.#...#.....O#..#.O#.#.O.....#OO#.
|
||||||
|
OO..O....O.O#.O...#....O.#........#.#....#....O...OOO.#.....OO..#.........O..##.........OO.........O
|
||||||
|
#...##.....OO#...#..O...#.O#.#.#O....OO.O..O#.##.O.....O.O#.#OO..#...#OOO..#....OO..#O..#O#...#.#OO.
|
||||||
|
OO.#.#....#..O.....#..OO......O......OO.OO.#..OO.#..#..#.........O#......##.##O...O#..OO.OO...#O....
|
||||||
|
....O..#.O#.O#..##O.O...#......O.......#....#..#..##...OO.O..O#.O.....OO##.#..O.....O#.O#....O...#O.
|
||||||
|
.#.O..#.OOOO#...#O......O.#..##...#.O#...O.##OO.O.O.O...#..O#.#O...O..#O.O..OO.O.OOOO#O..O...O#..#..
|
||||||
|
....O#..#..###..O#O....OO...#.O.O..#....#O...#O.....#OO...O...OO......##.OO.....O.O..#.....O.O.....#
|
||||||
|
...###.O....O..#..#.#OO.#.O..O.#OO.#...#....O.....#O.....#.#...OO.......O.#...O##O.......O.##.O...O.
|
||||||
|
.......#....#O#O.#...OO..#OOO.....OOO.....##....###...O...O...#OO.O.##..#OO...#..#.....O.....O.O#O.#
|
||||||
|
#O.O..O.#.O....#OO.OO....OO.....OO.OOO..##O.#.....O#OO....#O...O#..O#..#.OO.O......O...O......O#..O#
|
||||||
|
O.......#..O............#O.#O.OO.##....OO.#OO..##O...#OO....#...#..#....O#..O......O..O.#......#.O#.
|
||||||
|
O.....#O#O......#..#...OO#.....#.#.....OO#..OO#.O..#.O....#..O..#.....O...O...#......O.....OO....#.O
|
||||||
|
...#...#......O....#..O..O#O..#.##O.#O...O....O..#.O###.#.#..........O...#.....O........#..#..#...O.
|
||||||
|
.#....#.....O.#.OOO........O......#...#.O..#..O.O...O#.......O.O.#..#..O.....O......O#OOO...O#......
|
||||||
|
.O...O#....O.....O.O...#O.#....#.##......O.O#OO#.....O..O..OOO..#...#....##.....#O.O.#.O#..........#
|
||||||
|
#....#..#..O..O#.O#O.........O..O.#.O.OO..#O....O.OO.#.OO......#.#..O...O.#.#O.#.#..O.O#..O.#...#O.#
|
||||||
|
OO...#...O...O.#O.O.#....OO##.#.#...O#....O.#..O...O...#......#.O.O...O.O.OO.#..O..O.#O..O#.#..#...#
|
||||||
|
.....O..#...O#.O.#.O.#O##O.##.OO#..O.O#O#...O#........#........OO.OOO.O.O.........#..O...........O..
|
||||||
|
..O...O.O..O..O......O#..##.O..#.#.#......O...#...#O........###..##......O........#.#...OO..........
|
||||||
|
.....OO#....O.#.O.O..OO#...O.....O..OO.#O..........##..##..#.O..#O.O#OO#O#.O.O#.OO....#O..O....O....
|
||||||
|
#.O.#.#.O........#..OOOO..O.O#.#.#.....O#.O#..##.....#..O..O#O#OO...#..O#O..OO.O........#......#.#..
|
||||||
|
.##.....O.#.......O......O##O#.........OO#..###..#............O....O.#.OO......#.....OO#..#..O...O#.
|
||||||
|
O.O..#.O.O.....O...O....O..OO....OO#...#.OO........O.O...O.....#.#....#O..#.#......#.#....#....#.O#O
|
||||||
|
..O#..#.#.#....O..#..O.O.O...#..##...O..O##.......O...O...O..O.O#O......O..O.O.OO.##OO.OO........O..
|
||||||
|
..##.....#.O......#.O....O.O..O#..O....OO#O...O.#.O.OO#.OOO#.#.OO..#O.O#..##.O.#...#O.#.....#.O#.O..
|
||||||
|
#O..#..O..#.O..O...O....#OOOO..O.O#.##O.O#O...#OO...O.#OOO.#.#......#...#.O#.O..##.#..#..O.#.......#
|
||||||
|
..O.#.#OO...O...O#...O...O#...O.........#...#.O..#...##..O..O.....#...OOO.##..........O..#O#O.#.O...
|
||||||
|
...#..O....#...#.O.......O...##...O..O....O.......O.....O..#..OO.....OO..#....OO#O.O#..#OO..O....#O.
|
||||||
|
.....#O.O#.#...#.O.....##..###..O......O.O#.O#.....O......#....O.O.......O#...##.O....O#O...#..##..#
|
||||||
|
....#.#..#..#..##O.##.#.O.....O..#OO..O#.O.#OO.#O#..OO..OO#.#.....O..#.OO###.##.......O...#......#..
|
||||||
|
..O..#O.....O......#...O.#...O..O.#....#.#.O...O.#.OOO...O.O.##.....O..##....#O...##.O.O#.##O#...OO.
|
||||||
|
..#O.#...O#.#............#.O..O.#.O.#O#.#...##.O#..O##..#..#OO.O............O.#.OOOO......O.O.....##
|
||||||
|
..O...OO..#......OO.#OOOO.O.#.#..#..O..OO.O.O.....#.##O......O...O.#....O....#.OOO.O..#..#.##.O.#O..
|
||||||
|
O.#.#.O...#..##O.OO......O.O..O.O.#O...........O...OO#O#...OO..#..O..#O...##.O......OOO.......#O..#.
|
||||||
|
......OOO....#..##O#....O.O.#.O...O#OO..#.O.......O.O..OOO.#...O.#OOO.O.OOOO#...#.....OO..O.O.OOO#..
|
||||||
|
..OO.....#.O#......#.O..##..O..OO.O#..O#....O...O.....#..#......O.....O#.O.O#OO.OO.O.OO..#.OO.O.#O#.
|
||||||
|
.##........O.OO..#...#..#.#O.....#O..#O..O.O..#.O.OO...O.#O#...#.OO.O...#.O#....OO#...##..#O........
|
||||||
|
O.#..O.#O.#..#..O#.......O.#.OO..OOO#..##.##.....#..#.OOO..OO#...#O.O#.O..#........##...O....O.O.OOO
|
||||||
|
.O..#..#O...OO......#...OO#.#........OO..O.#O.........O..#O.#O...##.#O..#...O...O........##..O##..O.
|
||||||
|
.O.#.....#O....O....OO....#....O..#..O......#..OOO.O.#O....OOO.#....OO.###.#....O.O..#..#..#..#.....
|
||||||
|
.#..O..#.##....#..#O.O..O.OO#..#....OO...O.O...........O#....O....O......#...O#O.....O.O.....OO.O...
|
||||||
|
##......O#...................O..O.O....#.........#....O###.#...#.OO.O..#.OO.O....OO.#.O...O...#...##
|
||||||
|
##...................O...........O.O##....##O...OOOO.O..#.O....O.#...#..OO......O.O.#O.#....#.#.O..#
|
||||||
|
...#O..O....#......#.#.#.....#.O#..###.#.#...O#OO.O..O.O...#OO#.......#.O...O.#...#...O..O..#O...#..
|
||||||
|
O..O....#..O...#.O.O#......O.......#.OO...O...OO....O#O.OOO...O#....O...O..OO.O#.......O.O..O#......
|
||||||
|
#...OOO.O..........#..O.#...#..O.#O.O#O.#....#.O.##....#..OO##OO.O.....OO.....OO.#.O...O.......#..O.
|
||||||
|
.O...O.O...O..O#.....##..O#.O#....OO..###O#..O#..#.#.#..O.O#..#.....##.O.#O#.O.#O.....#.O...OO...#O.
|
||||||
|
#O#.O...O#...#...O....#.O.##O#...O#.#.#O#.....O.O.O...OO#OO#...O............###....O..#OO#....O..#.O
|
||||||
|
..#..O.O#..#......#..#........O..O....#...O.O........#.#....#..#.....OOO#.#....OOOO.#O.#..##O...#..O
|
||||||
|
......O..O..O.#..#...O...#..#..O...OOO.O.OO.O...#.OOO.#...O.#...O...OO#.##..#.##.O...O.OO...OO....##
|
||||||
|
..#....O..#.#..##O.....O..O...#OOO#..O....#.......##.O..OO#.OO#O..O....O.##O..O....O##O#OO#O...#..O.
|
||||||
|
....#.#OO.#.#O...#OOO....OOOO.#..O....O...O.........#O#...###...#..OO..O.....O.O.#O..#....###O..##..
|
||||||
|
#..O.#.O.O....OO.#..#.OOO....O.#....###O.#.##.O....#O......O..O..OOO.#..O......OOO..O.....OO.O.#.#.O
|
||||||
|
#.O.#....O..#O.##.O......OO....O.....O#O......#.O...#.##..O#..O.OO#..##..O...#.#O.O..O.O#OO.#..##O..
|
||||||
|
....OO.O....#....O#...O..#.O..O.#.O.#.#....#.O....O#OO..O.O.O....#...#...O#O...O...O....#....O.O.O..
|
||||||
|
.....#.OOOO.....#...#OO...O.#....###...O.O...#..#..OO..O.O#..O#OO.O.#.O#O.OO....#.#O#OO...O.OOO...#.
|
||||||
|
.O..#.#.###OOO....#..O....OO.#..O..OO..OO#O#O#..#...O...#...##O..#.......#O...##O..#...##......O.O.#
|
||||||
|
.O.###..O....O..OO#O....O#....O...O...O..#....O...#.......O.......#.O.O.#......#.OO#..O.OO..O.O.#..O
|
||||||
|
....#O...#.O.#.O.........#...#....O...#.O.#...O..#.#..O............O...O.#O..O..##.O.O...OO.#O.O...#
|
||||||
|
#.#.....OO#...O#OO.#..#..........#........O.O#.O.....O...#..#.OO#O.............O.O.##...##OO..#....#
|
||||||
|
O.OO...O#.OOO#O..O.......O##O#O###.##..#..O...#.#.....O...#..O.O..O..O#.O##.OOOO#...#.....##........
|
||||||
|
#............#O....#....O#.....O.OO.O...#....O.#O.#...##.....O..OO#...##.O...#.O....#....O....OO#O..
|
||||||
|
#..OO...O.....O.#..O#OO........O.......O....O#O###.#....O#O..##.###O..#O.O....O.O....O.#O..#...O##.#
|
||||||
|
..OO..#.......#...OO.#OOO#..#OO....#...OO..#O...O....O...#...O#......O.O...O##...OOO.#........O.O..O
|
||||||
|
O#.OO..O.O..#...O#O..#OO..#.#.....O.##.O.O.O.#..O.O...#O...#.......#..OOO##OO.#..O....OO....#OO.#.O.
|
||||||
|
.......#...#.#O.OOO#..#......OO.#O...##..O#.O...#O.....O..#....OO.O...OO..OO.OO..O...#.O#..OOOO#.O##
|
||||||
|
.#.#.O..O...O..#.....#..O........#.O.#..O...#.O..O..#.O.#..#..O.....O.O#...O....O....###..O.#....#..
|
||||||
|
..O..OOOO#...#...#...O....#O##.O.#..#...#O...O....O.....#..O..O...##O..O.##O.....O...##....#..#.....
|
||||||
|
...#.#.....#.......O...O#....#..O........O......#...#.#..##.O..O....#.O.....O.O#.##..O..#..#...#..#O
|
||||||
|
..OO......O..#...#.......#.O....O.##.#O.#O..O.O.OOO..O.##.#O..#..O#.O..#O..O.#O.....#..#..O.O.......
|
||||||
|
##O#O.....O......OOO..........O#OO...OO...#..#......#.O.....O#....O..OOO......#...O..O..#O......#...
|
||||||
|
..O....O...O...##O.O#O.#.#...#.O#O...#.#......##..O#O.#.OO......##O..O#.#..O......##...#O...#..OOOO#
|
||||||
|
....#O..##.....#........O...O..###..#...O...#O.O..O.O...#..#O......O#....OO#....O.#...#..OO..#..O.O.
|
||||||
|
OOO.#O.#.#.#..O.#.#O.....#.O##............#........O..OO#O##..O...O..#..O......O....OOO..O..OO......
|
||||||
|
..O.#......O.O..#O..O.#.O.O##...OOOO..O...#OO#.....O...OO......O.O...#.O.....OO.O.O..#.O..O.O.O...##
|
||||||
|
..OO.....#..#.....OO.#.O..#.........O..#..O.......O.##..OOO.......##.....O..#.#.O....#.O#....#..##..
|
||||||
|
..#..OO.OO......O.O....#...O.#..#...O..O##...O.OOO....O.O#..O.#..#......#.....O.O.O#.....##.....#O..
|
||||||
|
OO...#.##....OO.O...O..O...O..#.O.#.#.#.O.##.#...#.........O#.OO...O...#O...#....OO....#......#O.O..
|
||||||
|
.O...#.....O.OO.O##......O...#..#..O.#.....O.#O.O.##O.O.OO.OOOO...#O.#.O....O.#..O........#..O..OOO.
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
O....#....
|
||||||
|
O.OO#....#
|
||||||
|
.....##...
|
||||||
|
OO.#O....O
|
||||||
|
.O.....O#.
|
||||||
|
O.#..O.#.#
|
||||||
|
..O..#O..O
|
||||||
|
.......O..
|
||||||
|
#....###..
|
||||||
|
#OO..#....
|
||||||
Reference in New Issue
Block a user