46
.travis.yml
Normal file
46
.travis.yml
Normal file
@@ -0,0 +1,46 @@
|
||||
language: python
|
||||
python:
|
||||
- "3.5"
|
||||
|
||||
# install jupyter
|
||||
install:
|
||||
- pip install jupyter
|
||||
script:
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Cheryl.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Advent 2017.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Advent of Code.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/BASIC.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Beal.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Bike Speed versus Grade.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Cheryl-and-Eve.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Coin Flip.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Convex Hull.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Countdown.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Differentiation.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Economics.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Fred Buns.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Gesture Typing.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Ghost.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Golomb-Puzzle.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/How To Count Things.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/How to Do Things with Words.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Life.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Mean Misanthrope Density.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/pal3.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Palindrome.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Probability.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/ProbabilityParadox.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Project Euler Utils.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/PropositionalLogic.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Riddler Battle Royale.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Scrabble.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/SET.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Sicherman Dice.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Sierpinski.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Snobol.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/Sudoku IPython Notebook.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/TSP.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/WWW.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/xkcd1313.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/xkcd1313-part2.ipynb
|
||||
- jupyter nbconvert --to notebook --execute ipynb/xkxd-part3.ipynb
|
||||
13
README.md
13
README.md
@@ -6,11 +6,12 @@ This project contains **pytudes**—Python programs for perfecting programmi
|
||||
|
||||
Some are in Jupyter (IPython) notebooks, some in `.py` files. You can view the files here, or clone the project, or run the notebooks online by clicking this button: [](https://mybinder.org/v2/gh/norvig/pytudes/master)
|
||||
|
||||
# pytudes: Index of Jupyter (IPython) Notebooks
|
||||
# Index of Jupyter (IPython) Notebooks
|
||||
|
||||
|Logic and Number Puzzles|
|
||||
|---|
|
||||
|[Advent of Code 2016](https://github.com/norvig/pytudes/blob/master/ipynb/Advent%20of%20Code.ipynb)<br>*Puzzle site with a coding puzzle each day for Advent 2016*|
|
||||
|[Advent of Code 2017](https://github.com/norvig/pytudes/blob/master/ipynb/Advent%202017.ipynb)<br>*Puzzle site with a coding puzzle each day for Advent 2017.*|
|
||||
|[Advent of Code 2016](https://github.com/norvig/pytudes/blob/master/ipynb/Advent%20of%20Code.ipynb)<br>*Puzzle site with a coding puzzle each day for Advent 2016*.|
|
||||
|[Translating English Sentences into Propositional Logic Statements](https://github.com/norvig/pytudes/blob/master/ipynb/PropositionalLogic.ipynb)<br>*Automatically converting informal English sentences into formal Propositional Logic.*|
|
||||
|[The Puzzle of the Misanthropic Neighbors](https://github.com/norvig/pytudes/blob/master/ipynb/Mean%20Misanthrope%20Density.ipynb)<br>*How crowded will this neighborhood be, if nobody wants to live next door to anyone else?*|
|
||||
|[Countdown to 2016](https://github.com/norvig/pytudes/blob/master/ipynb/Countdown.ipynb)<br>*Solving the equation 10 _ 9 _ 8 _ 7 _ 6 _ 5 _ 4 _ 3 _ 2 _ 1 = 2016. From an Alex Bellos puzzle.*|
|
||||
@@ -27,7 +28,7 @@ Some are in Jupyter (IPython) notebooks, some in `.py` files. You can view the f
|
||||
|[World's Longest Palindrome](https://github.com/norvig/pytudes/blob/master/ipynb/pal3.ipynb)<br>*Searching for a long Panama-style palindrome, this time letter-by-letter.*|
|
||||
|[Refactoring a Crossword Game Program](https://github.com/norvig/pytudes/blob/master/ipynb/Scrabble.ipynb)<br>*Refactoring the Scrabble / Word with Friends game from Udacity 212.*|
|
||||
|[xkcd 1313: Regex Golf](https://github.com/norvig/pytudes/blob/master/ipynb/xkcd1313.ipynb)<br>*Find the smallest regular expression; inspired by Randall Monroe.*|
|
||||
|[xkcd 1313: Regex Golf (Part 2: Infinite Problems)](https://github.com/norvig/pytudes/blob/master/ipynb/xkcd1313-part2.ipynb)<br>*Regex Golf: better, faster, funer. With Stefan Pochmann.*|
|
||||
|[xkcd 1313: Regex Golf (Part 2: Infinite Problems)](https://github.com/norvig/pytudes/blob/master/ipynb/xkcd1313-part2.ipynb)<br>*Regex Golf: better, faster, funner. With Stefan Pochmann.*|
|
||||
|[Let's Code About Bike Locks](https://github.com/norvig/pytudes/blob/master/ipynb/Fred%20Buns.ipynb)<br>*A tale of a bicycle combination lock that uses letters instead of digits. Inspired by Bike Snob NYC.*|
|
||||
|[Gesture Typing](https://github.com/norvig/pytudes/blob/master/ipynb/Gesture%20Typing.ipynb)<br>*What word has the longest path on a gesture-typing smartphone keyboard? Inspired by Nicolas Schank and Shumin Zhai.*|
|
||||
|[How to Do Things with Words, or Statistical Natural Language Processing in Python](https://github.com/norvig/pytudes/blob/master/ipynb/How%20to%20Do%20Things%20with%20Words.ipynb)<br>*Spelling Correction, Secret Codes, Word Segmentation, and more: grab your bag of words.*|
|
||||
@@ -39,13 +40,13 @@ Some are in Jupyter (IPython) notebooks, some in `.py` files. You can view the f
|
||||
|[Bad Grade, Good Experience](https://github.com/norvig/pytudes/blob/master/ipynb/Snobol.ipynb)<br>*As a student, did you ever get a bad grade on a programming assignment? (Snobol, Concordance)*|
|
||||
|[Conway's Game of Life](https://github.com/norvig/pytudes/blob/master/ipynb/Life.ipynb)<br>*The cellular automata zero-player game.*|
|
||||
|[A Concrete Introduction to Probability](https://github.com/norvig/pytudes/blob/master/ipynb/Probability.ipynb)<br>*Code and examples of the basic principles of Probability Theory.*|
|
||||
|[Probability, Paradox, and the Reasonable Person Principle](https://github.com/norvig/pytudes/blob/master/ipynb/ProbabilityParadox.ipynb)<br>*Some classic paradoxes in Probability Theory, and how too think about disagreements.*|
|
||||
|[Probability, Paradox, and the Reasonable Person Principle](https://github.com/norvig/pytudes/blob/master/ipynb/ProbabilityParadox.ipynb)<br>*Some classic paradoxes in Probability Theory, and how to think about disagreements.*|
|
||||
|[The Convex Hull Problem](https://github.com/norvig/pytudes/blob/master/ipynb/Convex%20Hull.ipynb)<br>*A classic Computer Science Algorithm.*|
|
||||
|[The Traveling Salesperson Problem](https://github.com/norvig/pytudes/blob/master/ipynb/TSP.ipynb)<br>*Another of the classics.*|
|
||||
|[Economics Simulation](https://github.com/norvig/pytudes/blob/master/ipynb/Economics.ipynb)<br>*A simulation of a simple economic game.*|
|
||||
|[Project Euler Utilities](https://github.com/norvig/pytudes/blob/master/ipynb/Project%20Euler%20Utils.ipynb)<br>*My utility functions for the Project Euler problems, including `Primes` and `Factors`.*|
|
||||
|
||||
# pytudes: Index of Python Files
|
||||
# Index of Python Files
|
||||
|
||||
| **File** | **Description** | **Documentation**|
|
||||
|:--------|:-------------------|----|
|
||||
@@ -69,6 +70,6 @@ Some are in Jupyter (IPython) notebooks, some in `.py` files. You can view the f
|
||||
# Etudes for Programmers
|
||||
|
||||
I got the idea for the "etudes" part of the name from this [1978 book by Charles Wetherell](https://books.google.com/books/about/Etudes_for_programmers.html?id=u89WAAAAMAAJ)
|
||||
that was very influential to me when I was learning to program.
|
||||
that was very influential to me when I was first learning to program.
|
||||
|
||||

|
||||
|
||||
@@ -1 +1 @@
|
||||
|
||||
3294199471327195994824832197564859876682638188889768298894243832665654681412886862234525991553276578641265589959178414218389329361496673991614673626344552179413995562266818138372393213966143124914469397692587251112663217862879233226763533911128893354536353213847122251463857894159819828724827969576432191847787772732881266875469721189331882228146576832921314638221317393256471998598117289632684663355273845983933845721713497811766995367795857965222183668765517454263354111134841334631345111596131682726196574763165187889337599583345634413436165539744188866156771585647718555182529936669683581662398618765391487164715724849894563314426959348119286955144439452731762666568741612153254469131724137699832984728937865956711925592628456617133695259554548719328229938621332325125972547181236812263887375866231118312954369432937359357266467383318326239572877314765121844831126178173988799765218913178825966268816476559792947359956859989228917136267178571776316345292573489873792149646548747995389669692188457724414468727192819919448275922166321158141365237545222633688372891451842434458527698774342111482498999383831492577615154591278719656798277377363284379468757998373193231795767644654155432692988651312845433511879457921638934877557575241394363721667237778962455961493559848522582413748218971212486373232795878362964873855994697149692824917183375545192119453587398199912564474614219929345185468661129966379693813498542474732198176496694746111576925715493967296487258237854152382365579876894391815759815373319159213475555251488754279888245492373595471189191353244684697662848376529881512529221627313527441221459672786923145165989611223372241149929436247374818467481641931872972582295425936998535194423916544367799522276914445231582272368388831834437562752119325286474352863554693373718848649568451797751926315617575295381964426843625282819524747119726872193569785611959896776143539915299968276374712996485367853494734376257511273443736433464496287219615697341973131715166768916149828396454638596713572963686159214116763
|
||||
|
||||
1
data/advent2017/input11.txt
Normal file
1
data/advent2017/input11.txt
Normal file
File diff suppressed because one or more lines are too long
2000
data/advent2017/input12.txt
Normal file
2000
data/advent2017/input12.txt
Normal file
File diff suppressed because it is too large
Load Diff
43
data/advent2017/input13.txt
Normal file
43
data/advent2017/input13.txt
Normal file
@@ -0,0 +1,43 @@
|
||||
0: 3
|
||||
1: 2
|
||||
2: 4
|
||||
4: 6
|
||||
6: 4
|
||||
8: 6
|
||||
10: 5
|
||||
12: 6
|
||||
14: 9
|
||||
16: 6
|
||||
18: 8
|
||||
20: 8
|
||||
22: 8
|
||||
24: 8
|
||||
26: 8
|
||||
28: 8
|
||||
30: 12
|
||||
32: 14
|
||||
34: 10
|
||||
36: 12
|
||||
38: 12
|
||||
40: 10
|
||||
42: 12
|
||||
44: 12
|
||||
46: 12
|
||||
48: 12
|
||||
50: 12
|
||||
52: 14
|
||||
54: 14
|
||||
56: 12
|
||||
62: 12
|
||||
64: 14
|
||||
66: 14
|
||||
68: 14
|
||||
70: 17
|
||||
72: 14
|
||||
74: 14
|
||||
76: 14
|
||||
82: 14
|
||||
86: 18
|
||||
88: 14
|
||||
96: 14
|
||||
98: 44
|
||||
1
data/advent2017/input16.txt
Normal file
1
data/advent2017/input16.txt
Normal file
File diff suppressed because one or more lines are too long
41
data/advent2017/input18.txt
Normal file
41
data/advent2017/input18.txt
Normal file
@@ -0,0 +1,41 @@
|
||||
set i 31
|
||||
set a 1
|
||||
mul p 17
|
||||
jgz p p
|
||||
mul a 2
|
||||
add i -1
|
||||
jgz i -2
|
||||
add a -1
|
||||
set i 127
|
||||
set p 826
|
||||
mul p 8505
|
||||
mod p a
|
||||
mul p 129749
|
||||
add p 12345
|
||||
mod p a
|
||||
set b p
|
||||
mod b 10000
|
||||
snd b
|
||||
add i -1
|
||||
jgz i -9
|
||||
jgz a 3
|
||||
rcv b
|
||||
jgz b -1
|
||||
set f 0
|
||||
set i 126
|
||||
rcv a
|
||||
rcv b
|
||||
set p a
|
||||
mul p -1
|
||||
add p b
|
||||
jgz p 4
|
||||
snd a
|
||||
set a b
|
||||
jgz 1 3
|
||||
snd b
|
||||
set f 1
|
||||
add i -1
|
||||
jgz i -11
|
||||
snd a
|
||||
jgz f -16
|
||||
jgz a -19
|
||||
201
data/advent2017/input19.txt
Normal file
201
data/advent2017/input19.txt
Normal file
@@ -0,0 +1,201 @@
|
||||
|
|
||||
+-+ +-----------------------------+ +---+ +-------+ +-+ +-+ +-+ +-------+ +-+
|
||||
| | | | | | | | | | | | | | | | |
|
||||
+-------------+ | +-+ +-------------------------------|---|---|---------------------------------------------------------+ | | | | | | | | +-+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | +-+ +---+ | | | +-------------------------------------------------|-------------+ | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+-------|-------------------|-|-+ | | +---+ I +-|---|-|---+ | | +-------------------------------------------------------------------|-|-----|---+ +-------+
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | +---------|-------------|---------+ +-|---------|---------|-----------+ | | | +---------|-|-------------------------------|-----+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | +---|-------------|-------|---|-|-------------+ | | | +-------|-+ | | | +---------------------|-----|---+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | +---|---------|-----------|-------|---------------------|-------|-----------|-------------------------|-------|-------+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | +-----|---|-------|-------|-----|-----------------------------------------|---------|-------+ | +---------------------|-|-------------|---+
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | +-|-|---------------|-|-----|-----|-|---+ | | | | | | | | | | | | +-------------+ +-------|---+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+---------------------+ +-------|-----|---------------|-|-----|-----|-|-----------+ | | | +-----------------|-----|-----|---------------------------|-----|-----+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | +-|---|-------|---------------------|-------------------|---------|-----|-------|---|-|-------|-----------------------+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | +-----|---+ +-------|-----------------|-----------|-------+ | | +---|-------------|---------------------|---------|-|-----+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | +-+ +-|-----------|-------------|-|-|---------------------+ | | +-|-----------------|-----------|---+ +---------|---------------|-|-|-----------------|-------------|-----|-----|---|---------+
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | +-|-|-+ | | | | | | | | | +---|-----+ | | | | | | | | | | +-----|-----|-----|---+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | +---+ | | | | | | | +-|---|---|-|-----+ | +-------------|-----------|---+ | | | | | | | | | | | | | +-----------------------|-+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | +---------------------------------------|---|---|---|---------------------|-------------------+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | +-----|-+ | +-----|-----------|---|-|-|-------------+ +---|-+ | | | +-----+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | +-|-|-|---+ | | | | | | | | | | +-------------|-----------------|-|---|-|-|---|---------------|-|-|-|-----+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | +---------|-|-----|-+ | | | | | | | | | +-------------------|----------------------C--|---------------+ | | | | | | | | | +-------|-----|-----+ | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | +-----------------|-------|-|---|-|-----------|-----|-|-|-|-----|-----------------|---|---------------------|-----|-----------|-------|-------|-----------|-----------|-----+ | | | | +-|-+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|---|-+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | +---------------------|---|---------|---------+ | | | | +---+ | | | | | | | | | | +-|-----------------+ | | | +-------+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|---------|-----|-|---+ | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | +---|---|-+ | | | +---+ | | | | | | | +-----|-----|---|-|-----------------|-----|---+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | +-|---|-------+ | | | | | | | | | | | | | | | | | | | | | | | | +-|-|---------+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | +-|-----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | +---|-|---|-----|---|-|-+ | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | +-----+ +---------|---+ | | | | | | | | | | | | | | | | | | | +-|---+ | +-----|---+ | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+-+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +---------|-|---------------------------+ | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----------|-----------------------|---------------|-|-----|-----|-|-|-+
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|---|-|-+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | +-----|-------------|-----|-----|-----|---------|---------|-|-|-|-------|-----|-+ | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | +-------|-----|---|---|-----|-----|-----------|---|-|---|-|-|-----|-----|---------------|-|-----------|-----|-----|-----|---------|-----|-----|-|-|-----|-|-----|---|-|-------+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | +-|---|---------|---|-------------------|-|-|---|-|---|-|-----------------|-----------|-|-----------|-----|-----|---------------------|-----------|---------|-----|---|---------|-+
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | +---|---------|---|---|-----------|-----------------|---|---|------L----|-|-------+ | | | | | | | | | | | +-|-|-|---|-|---|-----|-|---+ | +---+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +---------------------|-|-----|-----------|-------|---+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | +-|-----------|-|---+ | +-------------|-----------------|---|-----|-|---|-|-----|---|-|---+ | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | +-------------|---|-------|-----|---------|---|-|-----|-----------+ | | | +-|-------|-------|-----|---+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-------|-|-------------|---|-+ | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | X | | | | | | | | | | |
|
||||
| | | | | +---|-------|-----------------|---|-|-------------------|---------+ +-----|-------------|-----|-----|-----------------------|-|-------|---|-|---|-|-|-|-------+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+--B--|---------+ | | | | | | | | | | | | | | | | | | | | | | +-|-----------|---+ | | | | | | | | | | +-|---|---------+ | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | +---|-|-----------|---------|-------------|-------|-----|-|-|-----|---|-----------------------|-------|-|-------|-|-----|---|-----|-----|---|-----|-----|-|-----|---+ | +-|-|-|---+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | +-----------------------|-------|-|-|---------------|-------|-|-------+ | | | | | +-+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | +-----|-|-----------|-|---|-------------|---|-------|-----|---|-|---|-----|---------------|-----|-|-|-------|-|-------+ | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | +-------------|-|-|---------|---+ | | | | | | | | | | | | | +-|-----------------|-------+ | | | | | | | | | | | | | +---|---------|-----+ | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | +---|-|-|---------|---------------------|---|-------|-----|-|-----|---+ +---|-------------|---|-------------------------|-|-|-----------|---|---------|-|-|---|-|---|---+ | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | +---|---------------------------------------|---------|-|---|-|---|-----|-----------|-|-----+ |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | +-|-|-----|-|-----------|-------------|-|-|---------|---|-----|-------|-----------|---|-------------+ | | | | | | | | | | | +-----|-|---+ | | +-|-|-+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | +-------|-|-------|-------------------------|---------|---|---------------------------------|---------------------|-|---|-|---|-----|-----|-------------|-|-----|-|-|---|---+ | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | +---------------------|---|-----------------|---------|-|---|---------------|---------|-------|---|---|-----------+ |
|
||||
| | P | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | +-------------|-----|---|-|-----+ | | | | | | | | | | | | | | | | | | | | | | | | +-----|-|-|-|---|---|---+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | +-----|-----|-------|---|-----------------|-------------------------|---------------|-|---|-------|---|-----|---------|-+ | | | +-----|-|-|---|---------+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-|-|-----|---+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | +---------|---+ | +---|-----|---|-|-------------|-----|-------|-|---------|---+ | +-----|-----|-----|-|-|-------------+ | +---------|-------|---|-|-|-----|-+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | +-+ | | | | | +---------|-----|-|-------|-|-----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | +-----------|-----------|-----|-----|---|-|-----|---------|-----|-|-|-------|-|-+ | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | +-------------------|-----|---|-|-|-------------|-----------|---|-----|---+ | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+-|-------------------|---------|-|---------------|-----|-|-----|-------|-|-|-----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | +-----|------H------+ | | | | | | | | | | +-|-----|---|-+ | | | +-+ | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +-----|---|---------+ | | +-|-+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| +-----|-----|---------+ | | | | | | | | | | | | | | | | | | | +---------------|-----|-|---|-------------|---|-----|-|-----|-----------------+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | V | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+-|-------------|-------+ | | | | | | | | | | | | | | | | | | | | +---------------|-------|-+ | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | +-------------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+-+ | | | | | | | | +-------------|-------|---|-------+ | | | | +---|-|-|-----------|-|-------+ | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | +-----|-|-------------|---|---------------|-------|---|-------|---|-----|---|---------------------|---|---|-------------------|-----|---|-|-------|-------|-------|-+ | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | +---|-------------------|---------+ | | | | | | | +---+ | | +-|-+ | | | | | | | | | | | | +---|---------|-|-----+ | | +---------+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | +-------|-------------------+ +---------+ | | +-----|---|---|-+ | | | | | | | | | | +---------|---|---------|---|-+ | | | | | | | +-+ | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | +-|-------|---|---+ +---------|-------------|-|-|-|-----|---|---|-|---------+ +-----|-----------------------------------|-----------|---|---|---|-|-------|-+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | T | | | | | | | | | | | | | |
|
||||
+---|-----|-|-------|-------|---------------------------------|---|---------|-|-----|---|-----------------------|---------------|-|-----|---+ | | | | | | | | | | | +-+ | | +-+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | +-----|-|-|-----|---|---------|---|-----------------------|-------|-|-----------|-|-|----------E------|-------|---|---+ | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | +-------|-----------|---------------------------|-|-|---|---|-----------|---|-----+ | | | | | | | | | | | | | +---|-----------|---------|---+ | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | +-|-|-------------------------------|-|-|-------|-|---|---------|---------------+ | +---------------|---|---------|---------------------|---+ | | | | +-+ | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | +---------------------------------|-|-|---|---|-|---|-|-------|-----------|-------|-----------|---|-------------|---|-----|---|---|-----|-|-------|---+ | +-+ | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+-----+ +-----+ | | | | | | | | | | | | | | | | | | +---|-+ | | | | | | +-----|-------|---------|-----------|-----+ | +---|-+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+---------------------------|---+ | | | | | | | | | | +-------|-------|-----------|-------|---|-----------|-|---------------------|-----|-|---+ | +-------|-+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | +---|-----------|---|-|-----|-------|---|-|-----+ | | +-|---------|---|---------|-|---|-+ | | +-+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+-----------|-----|-------|---|---------------------------------|-------|---|-------|---------------|-----------|---+ | | | | | | | | | +-----|-+ | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+---------------|-|-|---------|-----------------------------|-----|-|-------|-|---|-|---|---|-------|---------------|-------|---|-|-|---------|---+ | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | +-|---|-+ +-------------------------------+ | | | | | +-----|---|-------|---------------|-------|-------|---+ | | | +-----|-|---|-----------|-|---------------|---+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+-----------|-----|-|---|-|---|-|---+ | | | | | | | | | | | | | | +---|---|---|-|-|-+ | | | | | +---|---------|-|-----|-|---|---+ +-----|---+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | +---------------|---|-------|---|-|-----|---|-----------|---|-|---------|-------|-|-|---+ | | +---+ | | | | +-+ | +---|-------------+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | +-------+ +-------|-----------------------------|---+ +-|-----------|-------+ | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+---+ | | +-----|---------|---------|---------------|-------|-----|-+ | | | | | +---------|-----|-------|-------------|---------|-|-----------|-----|---+ | +-|-+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+---|-----+ | | | | | | | | | | | | | | | +-|---|-----|---|-----------|-------+ +-----|---|-----------------|-----|-------|-|---------------|-------|---+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | +---|---|-|-----|---+ | | | | | +---------|---|-------------------------------------|-|-------------------------|-|---+ | | | | +-------|-|-------+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | +---------|---------------|-----------|---|-------------|---------------|-----|-----------|---------+ | +-+ | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+-----|-----|---------+ | | | | +---+ | | | +-----------------------|-----------------+ | | | | | | | | | | | | | +---------|---+ +-----|-+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| +---|-------|---|-+ | | +-------|---------------|-----------------------|---|---|-------------|-|-----------+ | | | | +-------|---|-|-+ | | +---|-----|-----------|---|---+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | | | | | | | | | | | | | | | +-|-----------------------+ | +-----------|---------------+ | | | +-|-----|-|-------+ | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
+-----|-----------|-------|-------|---------------|-------|-------------+ | +---+ +-|-----|-------------------|-------------|-|-----|---+ +-+ | | | | | | | +---+ +-+ | | +---+ | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| | +---+ | | | | | | | +---------------|-----|-----------------------------------------|---------+ | | | +-------|-----------+ | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| +-----------|-------|---------------|-|-----|-------------------------------------|-------------------|-----------+ | +-----+ +-----------------------+ | | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | | | |
|
||||
| +---------------------------|-----|-------------------------------|-------|-----------------|-------------+ +-------------|-------------+ +-------|---+ | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | |
|
||||
+-------------------|-----------------------|-|-----|---------------------------------------------+ +---------|---------------------------+ | | | +---|-+ | | | | |
|
||||
| | | | | | | | | | | | | | | | | | | | | |
|
||||
+-------+ +-+ +---------+ +-------------+ +---------|---------------------------|-----|---------------|-----------+ +---|-+
|
||||
| | | | | | | | | |
|
||||
+-------------------------------------+ +-----------------+ +-----|-------------------------------+ | |
|
||||
| | | | | | | |
|
||||
+-------------------------------------------------------------------------------------------+ +-+ +---------------+ +-+
|
||||
|
||||
1000
data/advent2017/input20.txt
Normal file
1000
data/advent2017/input20.txt
Normal file
File diff suppressed because it is too large
Load Diff
108
data/advent2017/input21.txt
Normal file
108
data/advent2017/input21.txt
Normal file
@@ -0,0 +1,108 @@
|
||||
../.. => .../.#./.#.
|
||||
#./.. => .../#../#..
|
||||
##/.. => #.#/.#./.#.
|
||||
.#/#. => ##./##./...
|
||||
##/#. => .##/###/#..
|
||||
##/## => .##/#../##.
|
||||
.../.../... => .#.#/###./##.#/###.
|
||||
#../.../... => #.#./..#./..../#.#.
|
||||
.#./.../... => #.##/..#./.#.#/####
|
||||
##./.../... => ###./.#../####/##..
|
||||
#.#/.../... => ...#/####/#.##/...#
|
||||
###/.../... => .#../..#./#..#/..#.
|
||||
.#./#../... => ###./.##./#.../..#.
|
||||
##./#../... => #.#./...#/..../.###
|
||||
..#/#../... => ..../..../##../#..#
|
||||
#.#/#../... => ..#./#..#/.#../..##
|
||||
.##/#../... => ##../.#.#/.##./...#
|
||||
###/#../... => ..../#.../#..#/#..#
|
||||
.../.#./... => ##.#/#.#./#.../#..#
|
||||
#../.#./... => ..#./#.#./.##./....
|
||||
.#./.#./... => ..##/#.../..../###.
|
||||
##./.#./... => .#../...#/.##./.#.#
|
||||
#.#/.#./... => ...#/#..#/.#../.###
|
||||
###/.#./... => ###./.###/##.#/#.##
|
||||
.#./##./... => ##.#/##../..##/..##
|
||||
##./##./... => #.##/.###/.##./###.
|
||||
..#/##./... => ##.#/.##./..##/####
|
||||
#.#/##./... => ####/####/#.##/.#..
|
||||
.##/##./... => ####/.#../####/#..#
|
||||
###/##./... => #.#./..#./###./..#.
|
||||
.../#.#/... => #.../..../.#../#.##
|
||||
#../#.#/... => ..#./###./####/..#.
|
||||
.#./#.#/... => #.##/.#../##.#/#.#.
|
||||
##./#.#/... => ###./.###/###./##..
|
||||
#.#/#.#/... => ...#/.##./.#.#/#.##
|
||||
###/#.#/... => ####/#.../###./###.
|
||||
.../###/... => ..##/#.##/.#../.#..
|
||||
#../###/... => ..../.###/.#.#/...#
|
||||
.#./###/... => #.##/.#.#/.#.#/.##.
|
||||
##./###/... => #..#/.#.#/#.##/#.#.
|
||||
#.#/###/... => #.../##../#.##/##.#
|
||||
###/###/... => .#../.#../.###/..#.
|
||||
..#/.../#.. => ...#/.##./.##./####
|
||||
#.#/.../#.. => ##.#/##../#.#./.#..
|
||||
.##/.../#.. => #..#/.##./####/.#..
|
||||
###/.../#.. => ..../..../..##/..##
|
||||
.##/#../#.. => ..##/.##./#..#/###.
|
||||
###/#../#.. => ##.#/#..#/#.../#..#
|
||||
..#/.#./#.. => #..#/##.#/.##./#..#
|
||||
#.#/.#./#.. => .#../####/..##/#.##
|
||||
.##/.#./#.. => ###./#..#/.##./###.
|
||||
###/.#./#.. => ####/###./##../..##
|
||||
.##/##./#.. => #.../####/...#/####
|
||||
###/##./#.. => .#../#.##/.##./####
|
||||
#../..#/#.. => .#../####/#.../....
|
||||
.#./..#/#.. => .#.#/...#/.###/.#.#
|
||||
##./..#/#.. => ..##/#..#/#..#/....
|
||||
#.#/..#/#.. => .###/.#.#/.##./#.#.
|
||||
.##/..#/#.. => ...#/#.##/#.../..##
|
||||
###/..#/#.. => #.##/#.##/...#/#.##
|
||||
#../#.#/#.. => #..#/..##/.#../.###
|
||||
.#./#.#/#.. => #.##/..../.##./.#..
|
||||
##./#.#/#.. => #.#./..#./.#.#/.#..
|
||||
..#/#.#/#.. => ...#/#..#/###./##..
|
||||
#.#/#.#/#.. => ##.#/##.#/.#.#/.#..
|
||||
.##/#.#/#.. => #..#/#..#/##../.#..
|
||||
###/#.#/#.. => #.##/..##/##.#/....
|
||||
#../.##/#.. => ##.#/.##./...#/.#.#
|
||||
.#./.##/#.. => .##./.###/###./.#.#
|
||||
##./.##/#.. => #.#./#.##/..##/.#..
|
||||
#.#/.##/#.. => ..#./.##./..##/.#..
|
||||
.##/.##/#.. => ##../..##/#..#/#...
|
||||
###/.##/#.. => ###./#..#/##.#/..#.
|
||||
#../###/#.. => .###/#.../####/#.#.
|
||||
.#./###/#.. => #.#./.###/#..#/....
|
||||
##./###/#.. => ..#./.#.#/#.../#...
|
||||
..#/###/#.. => ...#/..#./##../#..#
|
||||
#.#/###/#.. => .#.#/###./.#../##..
|
||||
.##/###/#.. => .#../###./..#./##..
|
||||
###/###/#.. => .#../..##/#.../#...
|
||||
.#./#.#/.#. => ##.#/..../##../.#..
|
||||
##./#.#/.#. => #.../#.##/.###/#.##
|
||||
#.#/#.#/.#. => ...#/..##/##.#/#.##
|
||||
###/#.#/.#. => ...#/.#.#/###./#..#
|
||||
.#./###/.#. => ...#/...#/##../#.##
|
||||
##./###/.#. => ###./###./.#.#/..##
|
||||
#.#/###/.#. => ..../#..#/..##/#..#
|
||||
###/###/.#. => .#.#/.#.#/##../.###
|
||||
#.#/..#/##. => .##./..#./##../....
|
||||
###/..#/##. => ####/...#/.#.#/#...
|
||||
.##/#.#/##. => ..#./...#/###./.#..
|
||||
###/#.#/##. => ..../.#../.#../#.#.
|
||||
#.#/.##/##. => .##./..../#.../.#.#
|
||||
###/.##/##. => ..../#..#/...#/#...
|
||||
.##/###/##. => #.##/##.#/#.../..#.
|
||||
###/###/##. => .#../.###/###./##.#
|
||||
#.#/.../#.# => .#.#/..../#..#/.#..
|
||||
###/.../#.# => ##../#.##/##.#/..#.
|
||||
###/#../#.# => .#.#/..../.#.#/.###
|
||||
#.#/.#./#.# => ...#/..../##.#/#...
|
||||
###/.#./#.# => ####/.###/#.#./#.##
|
||||
###/##./#.# => #..#/.###/...#/###.
|
||||
#.#/#.#/#.# => #.##/...#/.###/.##.
|
||||
###/#.#/#.# => #.../.#.#/.#.#/.###
|
||||
#.#/###/#.# => ##.#/##../###./#...
|
||||
###/###/#.# => .##./.###/.#../..##
|
||||
###/#.#/### => #.##/###./#..#/#..#
|
||||
###/###/### => #.../..../#..#/#...
|
||||
25
data/advent2017/input22.txt
Normal file
25
data/advent2017/input22.txt
Normal file
@@ -0,0 +1,25 @@
|
||||
..######.###...######...#
|
||||
.##..##.#....#..##.#....#
|
||||
.##.#....###..##.###.#.#.
|
||||
#.#.###.#####.###.##.##.#
|
||||
.###.#.#.###.####..##.###
|
||||
..####.##..#.#.#####...##
|
||||
....##.###..#.#..#...####
|
||||
.#.##.##.#..##...##.###..
|
||||
.######..#..#.#####....##
|
||||
###.##.###.########...###
|
||||
.#.#.#..#.##.#..###...#..
|
||||
.#.##.#.####.#.#.....###.
|
||||
##..###.###..##...#.##.##
|
||||
##.#.##..#...##...#...###
|
||||
##..#..###.#..##.#.#.#.#.
|
||||
.##.#####..##....#.#.#..#
|
||||
..#.######.##...#..#.##..
|
||||
#.##...#.#....###.#.##.#.
|
||||
.#..#.#.#..#.####..#.####
|
||||
.##...##....##..#.#.###..
|
||||
..##.#.#.##..##.#.#....#.
|
||||
###.###.######.#.########
|
||||
..#.####.#.#.##..####...#
|
||||
#.##..#.#.####...#..#..##
|
||||
###.###.#..##..#.###....#
|
||||
32
data/advent2017/input23.txt
Normal file
32
data/advent2017/input23.txt
Normal file
@@ -0,0 +1,32 @@
|
||||
set b 99
|
||||
set c b
|
||||
jnz a 2
|
||||
jnz 1 5
|
||||
mul b 100
|
||||
sub b -100000
|
||||
set c b
|
||||
sub c -17000
|
||||
set f 1
|
||||
set d 2
|
||||
set e 2
|
||||
set g d
|
||||
mul g e
|
||||
sub g b
|
||||
jnz g 2
|
||||
set f 0
|
||||
sub e -1
|
||||
set g e
|
||||
sub g b
|
||||
jnz g -8
|
||||
sub d -1
|
||||
set g d
|
||||
sub g b
|
||||
jnz g -13
|
||||
jnz f 2
|
||||
sub h -1
|
||||
set g b
|
||||
sub g c
|
||||
jnz g 2
|
||||
jnz 1 3
|
||||
sub b -17
|
||||
jnz 1 -23
|
||||
57
data/advent2017/input24.txt
Normal file
57
data/advent2017/input24.txt
Normal file
@@ -0,0 +1,57 @@
|
||||
14/42
|
||||
2/3
|
||||
6/44
|
||||
4/10
|
||||
23/49
|
||||
35/39
|
||||
46/46
|
||||
5/29
|
||||
13/20
|
||||
33/9
|
||||
24/50
|
||||
0/30
|
||||
9/10
|
||||
41/44
|
||||
35/50
|
||||
44/50
|
||||
5/11
|
||||
21/24
|
||||
7/39
|
||||
46/31
|
||||
38/38
|
||||
22/26
|
||||
8/9
|
||||
16/4
|
||||
23/39
|
||||
26/5
|
||||
40/40
|
||||
29/29
|
||||
5/20
|
||||
3/32
|
||||
42/11
|
||||
16/14
|
||||
27/49
|
||||
36/20
|
||||
18/39
|
||||
49/41
|
||||
16/6
|
||||
24/46
|
||||
44/48
|
||||
36/4
|
||||
6/6
|
||||
13/6
|
||||
42/12
|
||||
29/41
|
||||
39/39
|
||||
9/3
|
||||
30/2
|
||||
25/20
|
||||
15/6
|
||||
15/23
|
||||
28/40
|
||||
8/7
|
||||
26/23
|
||||
48/10
|
||||
28/28
|
||||
2/13
|
||||
48/14
|
||||
512
data/advent2017/input4.txt
Normal file
512
data/advent2017/input4.txt
Normal file
@@ -0,0 +1,512 @@
|
||||
kvvfl kvvfl olud wjqsqa olud frc
|
||||
slhm rdfm yxb rsobyt rdfm
|
||||
pib wzfr xyoakcu zoapeze rtdxt rikc jyeps wdyo hawr xyoakcu hawr
|
||||
ismtq qwoi kzt ktgzoc gnxblp dzfayil ftfx asscba ionxi dzfayil qwoi
|
||||
dzuhys kfekxe nvdhdtj hzusdy xzhehgc dhtvdnj oxwlvef
|
||||
gxg qahl aaipx tkmckn hcsuhy jsudcmy kcefhpn kiasaj tkmckn
|
||||
roan kqnztj edc zpjwb
|
||||
yzc roc qrygby rsvts nyijgwr xnpqz
|
||||
jqgj hhgtw tmychia whkm vvxoq tfbzpe ska ldjmvmo
|
||||
nyeeg omn geyen ngyee rcjt rjuxh
|
||||
qpq udci tnp fdfk kffd eyzvmg ufppf wfuodj toamfn tkze jzsb
|
||||
rrcgxyp rbufd tfjmok vpyhej hcnz ftkojm
|
||||
jnmomfc jnmomfc bkluz izn ovvm flsch bkluz
|
||||
odisl hzwv hiasrhi hez ihihsra qpbmi ltwjj iknkwxf nbdtq gbo
|
||||
gjtszl gjtszl fruo fruo
|
||||
rdapv gaik cqboix sxnizhh uxmpali jdd usqnz advrp dze
|
||||
flooz flooz qad tcrq yze bnoijff qpqu vup hyagwll
|
||||
lnazok dze foi tqwjsk hpx qcql euzpj mwfrk
|
||||
ilb fmviby ivybmf gtx xtg
|
||||
rpauuu timere gyg wcolt ireetm safi
|
||||
croe szwmq bbhd lciird vhcci pdax
|
||||
hnc ykswt qqqmei goe bri wmyai hnc qpgqc pberqf bzs
|
||||
hsnrb wdvh iezzrq iezzrq rdbmpta iezzrq kemnptg alkjnp wymmz
|
||||
ngw don ddvyds nlhkoa aaf gptumum ugtpmmu
|
||||
vmccke qbpag kvf kvf tgrfghb kvf bhpd sglgx
|
||||
obomgk bkcgo yso ttft vbw ckl wjgk
|
||||
fli qvw zhin dfpgfjb udsin nihz ovr tiewo
|
||||
tgmzmph hauzieo jmg tdbtl lvfr qpaayq qapaqy ausioeu jun piygx
|
||||
jkp guqrnx asdqmxf vmfvtqb tloqgyo ioix gajowri tmek ilc puhipb
|
||||
uycn zxqm znft ayal znacus kvcyd ekv qqfpnh
|
||||
fqghur xtbtdd ztjrylr bpuikb ziyk
|
||||
rvakn uqbl ozitpdh uqbl dsej xehj
|
||||
laxp haz jyd xnkrb ijldth woy xapl iqgg alpx gnupa ukptmmh
|
||||
dyiy dyiy ihb qcyxr
|
||||
wbwkd hdwu zvgkn hdwu wjc sakwhn zxujdo npllzp uyr uyr
|
||||
fxczpmn cininu akcxs ggslxr riyxe ojisxe
|
||||
ppbch sampq dnct afikor dnct edsqy pnzyzmc afikor
|
||||
jnvygtn hijqjxl vsd jnvygtn nqcqv zns odq gkboxrv kolnq wrvd
|
||||
mroq mroq flsbu flsbu
|
||||
fyshor xvpaunj qmktlo xoce wkiyfu ukcl srndc ugwylwm ozcwdw mtqcste kpokr
|
||||
cfh cxjvx cfh cfh uewshh
|
||||
bpspbap bpspbap fquj mxmn bwls iirhvuk dmpkyt exrn mxmn
|
||||
tvyvzk ezszod ntxr xtnr och
|
||||
knfxhy kbnyl knfxhy xhkssx lxru uprh nkxpbx oodolxr tpvyf
|
||||
nblmysu iwoffs upgof tyagwf aan vovji ajk ywzq oyfi sfulz
|
||||
aushzkm lcaeki mkuzsah ynxvte rsntd refk pcm
|
||||
mgguob gobmug dzenpty gmogbu
|
||||
yvq eepof rgnree nerger fpb stfrln ernger
|
||||
hrgkbl mzwvswk rsrsbk ieru holco pajvvn ztgsr qkyp fyeg owpcmoj
|
||||
fowda gmsqdca yugj mcrroxv mqcbojd fjnqfji qdfsc jqs
|
||||
qnc rvjfz vvxk sjd xrma ucdjvq sbw zydyt dfzww
|
||||
ocajazv cozaajv tqunkla udwf ecnnmbz lsakqg bki njnda zsdu ccfqw rxpc
|
||||
qqm qdfya qxyx qmq qfday uqnfttt
|
||||
rnbirb iapor qet iapor hxkhz dfvzig pedl ybyb
|
||||
mkgamxg xkniv meb hbzmxjn dhbj zhbxjmn hdjb
|
||||
ilteux pyutyfx mau lrr bacak
|
||||
sjjonmn dbbbgs crxyuu jztstgd ezb uiabyaa
|
||||
tra fle ufzlvf nnaw kec hiwnnlj tei wld iyt syk hjdczb
|
||||
qmd jtlud dgh dbanock fzp dsjgqru wwvo jwvxwgv xlemfij jcacd
|
||||
rpkx oxesil snazcgx fly miiyc ikmtmp oefyyn egbw
|
||||
ypfpeu wldnyd acchppb yqwcaw wldnyd turbz megci nbgxq xkc ypfpeu
|
||||
iqqv iqqv neui iqqv
|
||||
ypsxm icqyup zyetrwq nbisrv
|
||||
viommi toszx dpueq eyy cunjou ffcjc jaeez djefra pxvkj liudlig yye
|
||||
fhnacbg jghchh ghjhhc iue hwqmo
|
||||
vbjw lpn cizba ltnsfpz tzoweml irewlc uzckhpd mszal obd
|
||||
yeos utxkft hflxkfe fxczge qpgigkc ksgr vuumql vhlvv
|
||||
xzmkv xzmkv krecdi klpem jsbu nwcmik emfzxf cjmpgnj
|
||||
vtkjo pmiv zou gxo qdiyxsf hwyinjk jhkgf rjq
|
||||
dyuoc ywiyvch irfgl ywiyvch fxb fxb
|
||||
tuz onhr syu rqya abkaf bcfx mbknex juwoor zmksl
|
||||
oheg spjorx ksdy vwtq fxz phvtazk tcze lrxg
|
||||
hew lbup botaj ltr jpd
|
||||
dxgc tzinkej gnz hxvvub adsqmc dxgc asgpp rqbdcra goy pmamdua bhiacva
|
||||
xqv ygb kihxqz vyv pjcny vmyvsdv cgsi nfyx
|
||||
tqga ssshrw ndq qlbvwh huyd pxbgj qbxk dkkbf jxy chsobw pph
|
||||
hxl iwph iwph xnr otifm ljhre
|
||||
zlgvpd kapxpoc dve rklk ogh hgnp rbrmc zzkz hhmcx aklmo
|
||||
sar gfor nkf hek nkf aql shc aql
|
||||
dtcrw kfjzcjx qyhi bldson whwdayo mqtgt xhqzp ttqmg
|
||||
omspdml isze jdl nvwo qrkm wztfg ssfgyh dryj jhp unsmty
|
||||
jxt cszylng ifht ixtuna azoi xutqlv jtx tjx
|
||||
usgm azuayp fgkby ezpyq jqwl ezofj
|
||||
tnhvil nrvg moyrpqs sldx qymoff megflxh pyhqwms xmdw
|
||||
zomy zcquwnv lzx bvcna yods mjp dgsez
|
||||
blklyf xokd gpit tiysj yrwfhm tofx
|
||||
dtig vhdp omuj vhpd
|
||||
fogwxim qvdwig emdiv jvhl euwbzkg xvxb hwmqo ujdmlp epmykj
|
||||
sjxll sjxll pedvgb sjxll
|
||||
drvay gtzhgtx yrt okz nqf
|
||||
haxfazn pvkovwb pgu tgshw mxcjf pbe nwoymzc mxcjf pbe hydwy jradcr
|
||||
prjsloa ahylvj okbsj qbdcdjt pmfo pagyoeg vkmhjzt khzmjvt opfm xfrji gyjqyel
|
||||
lzypt jdbtrad ogr jdbtrad heink
|
||||
rcoucuq gdxewa rcoucuq whlw zhhm rcoucuq azaqohe mzyli rdvaf
|
||||
yuag ebcf yuag nsotg qqzuxr jfmao vyucw wmoye
|
||||
qwvk xemm hgqrr wyxkpp tojndm xlvzypw jus bgnu bgnu nklfwhs
|
||||
daqi knenmku ccm xkiuy vkexsbc kvvdagx umopitw yaocnx yoakqql mllmsp
|
||||
mrxgl gywit mfopia ncnsvw vdxek axuiot rsejua nei prndudz mnu
|
||||
egqn gaa qgen urs mix zbn rhn
|
||||
ewharq aihy udkdaob kgrdd kgrdd kugbjtj fcef llqb pduxaq wcexmm
|
||||
dwtiw nelq hppad algxgf gcc upou akm efnb mxmhrud
|
||||
yxqaa ups okbhgt iet qns tqn rnjqxgp
|
||||
npmhdm cgds ldexvr typi jyivoqk zkgq vfyxu xgfo
|
||||
dkwnmr umm dkwnmr okpjw wqx jpztebl eqsib dkwnmr
|
||||
dxbild wpbup evscivq dxbild dxbild geqp ojfbpl jshvqej
|
||||
cxdntxs csfocjd pyy tuhws teb boyloz xfw scxh pxhonky
|
||||
lteucke xrgwy hszgzu hnyrcvb
|
||||
pfgsgwg dxzh fworek qbstod
|
||||
usemcrf psczxu gcjtr brls
|
||||
hjol efxczux bqdn gvrnpey yyoqse gbam ndzyj lbwb bhzn unsezg
|
||||
bapw xifz blupk qqdk bofvqpp wnbuwyt rnwocu lzwgtt zucag pov
|
||||
xkre lqvd juf lqvd xio xyg xyg
|
||||
tzdao ztheib aymcf aorg iyawrch hetcxa iyawrch czdymc ccv
|
||||
ucgl azlppu jvxqlj pest
|
||||
dvwlw fuuy mnhmm okrp ualnqlm uyuznba fzyejk yaq crl ctprp
|
||||
odfq knox mkbcku pxucmuf lpjpol phl
|
||||
ixongh hfs ruorbd auy qyssl kykwcix aytsm rlj aytsm duq segpqhk
|
||||
izufsk wedpzh podjkor eamo vqvev ifnz podjkor xrnuqe
|
||||
twyfps bmdbgtu qye qkwjms
|
||||
wlav htym vhsnu cocphsj mdsuq vhsnu jflgmrp
|
||||
opajag itwjhfu purnnvk opajag
|
||||
hpkopqp vnj aialpt lzrkzfs nwucez nwuezc
|
||||
mcx hzcjxq zbxr dsx tpknx fva
|
||||
rlvgm xrejsvn ghawxb efyos xty wdzdgh olahbtn rga efyos vhtm nsr
|
||||
cni mbab qtgeiow ulttn rckc kmiaju jvbq emyvpew cdlxldn ulttn brhkprx
|
||||
eykpffp rapik qki fhjgdyu tome ehjuy bibjk htxd vexvag
|
||||
wrk dpxt gwkuiov gbkif ike gbkif pcd wpj toywyf qzsa aol
|
||||
yqwzh uujn ujun ujnu
|
||||
srs ralwxrz yxvvmgp sjhbhk waasid cqtxoxf whcladv jkmaq khjbsh dlavcwh
|
||||
mdvsjh xaj etvxlsy fxgiy rgjesel rlegesj ptriz ebdyhkp kugxm dxv egljser
|
||||
lhehwrs mqevb ygmv gri izop qgb ivm
|
||||
loqqam alojlwg hgen hbyw qlwpun loqqam worgnwk kope
|
||||
phozre todsknr todsknr ibj mvllsar
|
||||
wuripy ruwlfbh wukbkey qhq iishw tvtvci xawvxc vxacwx hsiwi ogq
|
||||
xryq vxwupqa zhqex aquxpwv bnvxrba dtbxki
|
||||
yvvwh zvsm vqskhp vqskhp ggqqlw bpn wbuv
|
||||
kqz tdy goqwge ygn jgd
|
||||
szjjhdk zkpoo nxexz ebicc
|
||||
wzuemcj oyd qupulju iaakzmt vzkvz
|
||||
nppahov umm wpzev wxkgfxd owgekp bhhb bbhh dgviiw kdfgxwx wryb
|
||||
bnc rhes lmbuhhy kwbefga bnc rtxnvz bnc
|
||||
ani mggxf mcoixh zdd nai hbhzl mes bdpqr
|
||||
mjn uinoty jjegvze bjgqg yhqsxbt coj obylb hddude xqi rhfbhha alood
|
||||
cbjzj drmihy tfkrhsd nuhav hihzx bvblqpl tdd szmp gjgfv box
|
||||
uumhdxd cmwgyf vepr rwqdkj exwk
|
||||
hwvr ydvw bqefu kghes gvbhp awms iqsqes khgse
|
||||
mrey jqfw fwvzhps komj dayvs fbui zmtd cofn mrey
|
||||
dsjds fdpx irjj usndok qcctsvf fgk wvg txwxcl dxs llp zyilwtq
|
||||
xmkelgk fdukc cye legkxkm wwly
|
||||
enlny eynln cccku brkz dpof mwfoxcd yftmnqh wpebvyc
|
||||
ggdn jnysl dsacffw ukj hdae cmzxku
|
||||
uqhm gcachmn kxndfrl htmfis jfnajz fiqiypr kekho kekho ndcw ckrndub dejfna
|
||||
keazuq ertql rauwl keazuq obmh rauwl ksrotm
|
||||
jppp poigqhv repfsje grjk xwkyuh pkx ayzcj hoxzv
|
||||
yhjw pcuyad icie icie icie hwcsuy wcd yihjh jnrxs
|
||||
gaug ivvx ceb xujonak hbtfkeb ttciml cctoz
|
||||
dggyyi dggyyi gqlyumf yasu fwdfa cbb nncn verhq
|
||||
rhgcw gpcyct kiuhbg kiuhbg gpcyct jlmleo nhumm
|
||||
wulxxu jyjek hclcp ogob viex wiqcupq
|
||||
tthu nxgzpid kcnj mss ukapgkp nnc bxjocv qwxs oejwsif aywqtu brahkb
|
||||
dtde bgvb smu vbbg zhlu
|
||||
lyo nwjjmep ldbok wgxhto wwuh qfgjknk wnsl
|
||||
lleyr onha hkwulbm jfg
|
||||
bybjwd uoxvbh mvj iqfpnxs bybjwd zqtszp wvc lbazjr zkzenja cev
|
||||
rbuyyr divtslq yuqmyt ajyveb smxsjb nlk tzqhq ims fewg wpjhr gqh
|
||||
kpewfd beq klilis klisli eeezut
|
||||
euqh hueq ldoo crqurv lvrwh tmaewp oodl
|
||||
bqi lzrf jyhvxfh bqi jyhvxfh nbztd lwpdn cuzi
|
||||
srjylou phavzjd wost uxkaq byh sluryoj
|
||||
ihrdk bcegkpq nygrs qbcq wyjg dvzme pgzhjl vibg kvv
|
||||
ijsx iedemek ktlz gtga tbal lbki gtga
|
||||
vmiaxn kefig kefig vngxz
|
||||
vrdmfvi qts vlvhq vlvhq dihmq
|
||||
cfz dyrz zlw qnt vok fwvahg skshbqf hbwozdc ntana jdb uflp
|
||||
rimbj bxemw sfps krtk umta vnk ewmbx nrlje ymrtqrz mxewb kjxunbt
|
||||
egnuti ozat eltl ngueti
|
||||
qtcwoxq rmaf qtcwoxq qtcwoxq
|
||||
zws gcoa pydruw qsrk lrkybdf ugr wkrxoj nyvf vitwn
|
||||
tmr hhd dojid zwrj bhsim righ keqlep flzunou
|
||||
lwoquvy acjowxk tqudk oenvioh nyavyl
|
||||
rgh dfhgyke iff cpxhuz hui koe iff hui dmukrei
|
||||
bjiumig lcbmbgh vleipx sfawua rnf
|
||||
gftfh qwb tfdroe xbno qhgofm vqfoe mux
|
||||
ljdrr gyfggai iun nju xrucbis mhrcrh fukr obvuqc whlalfe xrucbis nju
|
||||
nxjmjr egqwg arllu xqaahri lzc ivt uhsti
|
||||
sqiepba rcmts kvesv nvp
|
||||
tiksw tiksw rjni gbhvzm ctbq zuqfyvz
|
||||
ibsnm kfka aoqigwo sqouih rxz
|
||||
jmymq lxio adtmk umyu sxvzquq bporqnb heol fow
|
||||
mepa eckq rqviawv dkqoei ifmngpp jiava rtklseu
|
||||
yuycd jiufjci yuycd uowg yuycd udq izkicbr csxobh
|
||||
nwu tfsjavb rruoxbn oepcov elxf rruoxbn rruoxbn azglwth jcjm ksqiqpv
|
||||
dthfwip zqnwa zqnwa zqnwa
|
||||
gso wruece ufl crgnlxv vllsm dpyfm wpa ctxko
|
||||
wvpze seodz lpq lpq pmtp wsxs ffppx
|
||||
yfxquj phvjn rtwieq rtwieq kgxztyu vbjvkc prqqd lyzmdo ojbrt ojbrt qiqjz
|
||||
esaezr rpggiy jey kbzrhu uthus osr xxaiijd qfxlf auhzbx gkigoqw
|
||||
yfhcj uvgck cds gjhhrg cmempgj yfhcj cjb
|
||||
yxi voxvtuw unwg jqqm
|
||||
igvjr ljz rus sru gbjtjt qfeg ztu zjl
|
||||
leof ocxns hbkoysh hbkoysh leof
|
||||
hab lyxmf yhh qeks fwhfxki xmbcak okqjii nfgzyg bhtfgdj lpmjn
|
||||
mgognh tad herere lvwnzx ixwqs zphmuuc etdjz kczsf
|
||||
mtej rlolsnn zbl uykek dpkan gmz etxtgj
|
||||
mihuieo emjgbp jgks mihuieo iexrfw mjdnr bvp mcuzea xkbusvi
|
||||
jvqpj bwt jvqpj bwt gxr
|
||||
qpnd fpt tpor bibbpcg hmvguez wqc afl ckviua gpi
|
||||
dntmcg jglm sxtnu sxtnu sxtnu
|
||||
fzkbptw cbfwo ozvwov wbv gcdd izqo ovwzov lolewo xikqpw
|
||||
nkxyxzd kpn datf fki werq mwidqx oiibor zizcjph
|
||||
xvgyxym zor ijoy lvwsf fjuara idvvq rreit mqyyy ctio tzwqqhj rnpee
|
||||
maqkfpk maqkfpk xukg sfdmnlg xjopvr xjopvr irf
|
||||
liujcd vnlkouy dxkwc gto vhjvtw
|
||||
swhqhj cas aupsd swhqhj cas bvbooii jquck dtdm
|
||||
igh iqicicf ghi pcxt srcrjx gmf gyscphv
|
||||
drplj drplj wopgpnk wytag wopgpnk
|
||||
zexe ilcqoh qiefb txkuv lirfzv
|
||||
ovvpn ovvpn uqeurqx uwzn hgmucj ovvpn sjxulms
|
||||
rox silka irhsvym kutus otasof tdneav pcagds
|
||||
mkja omu tyshbfq onp trxs lxa tftbv bnpl djhnc zdqfs muo
|
||||
tjj rmmqas cbbkxs qio pikk ykyew gxlxt nhsyl ykyew
|
||||
frcprg njrz oaxcmhc qben pedm ecvtga nzxwpb ior gaklot dpem
|
||||
zyt kncau spoe qlchg sqys wkpbng yflju qlchg vkve bzadbpa
|
||||
qtq pkaicl qtq mfkfqvr dnleiq brrjxsx uoyxh pkaicl yvmlug
|
||||
firwy imtlp ywl qfa dqrbazz ztzb pcsbwhn zesmlag
|
||||
ivey ivey mtvc mtvc
|
||||
lhize acwf moa cdeoazd voktshy qmvqq jvmuvk ljfmq tsanygc
|
||||
xreiqkc aawrovl pofcsg xreiqkc xreiqkc
|
||||
cjbzvn ozds iniqu sdoz gqmki bablvll krs vjzcbn
|
||||
izsod htkeqz entxn qtns prpcwu omfnmoy
|
||||
kwfb tctzda aztctd tadtcz gyt wunbcub ydiwdin xxk
|
||||
epnl ijcp giq ltfk zjcabve zfksmz epnl giq xxxbsom
|
||||
ulyukpa mdjsbn dydko uhkdt qms aaaj hustlwu
|
||||
zlsbu ohx jcwovf egf zlvpqgx qhejm wrywdmw
|
||||
uhxqrzr mmu kjxcalj unuohiq rri yzngnb ikvlxry mfiym qbksdx
|
||||
khqciz som yklmm jceb khqciz jspy jceb
|
||||
ncwggv njvi nqox krtsn lnm
|
||||
bgtqme xaxcoq qbtgme obqual vorfk baoqul lgrb
|
||||
jli tsbb nlxjc pkwzmz dlxrj hmho gzguko ilj iyaasm
|
||||
wlmw grkumg dynwtyo emxhhqr huluk slpqu uhqcmd absmr ufirmwr
|
||||
pbs pcammxv dplfr tzvmav nccyy blvyq ffhnz bccutq
|
||||
hgge ghge vxmvz hqxgjdg zab guo gheg
|
||||
ylj bucoyoq udndc wpgyrbx ueh udndc gxdsdh hdoz wwgqlg
|
||||
cjdeh gttyqe kdkm ltzd lfeozse quvjq mnwhokm kdv oojxm nxt
|
||||
mfkzus knqxt saxkqww njx zumsfk sbmcyad cpt agvbuv
|
||||
tukn vyco yobvsn bzgnn klrnzy kea thzk pxpwq ryfff nxzm
|
||||
ylbm lxlz lybm lzxl
|
||||
wgtxoij zad slgsi cvnxfg iomswwl vmx
|
||||
hkm yinhnkj kmh kwkw kayknck chur styjif yknakck
|
||||
rtfwhkq rtfwhkq zsf zsf
|
||||
sldq zlntr ueegiw kajivqc ozcbm ceft snvugom pdyc elppeed nnqrp prwwf
|
||||
lhk xjonc muc tudag tsafx mmivb dvrjbp qgrew
|
||||
hnzer fbgqp aazta aazta lxaz lmgv aazta
|
||||
victgxu victgxu mlpd ummrnbx cazjgnw isxcyp efy zfa cyusj
|
||||
gyojxo onzq gyojxo uxufp awi ilhl wefwfxr gcjlt tmliynw uxufp pdcnxah
|
||||
wjwachn xkuhfbp oky oky ybaeqkr rbuix yreoaw wepmye brvon aasb
|
||||
kiidorw vxtxiqx wtqvbrv efdth isel qbom vcssyc vxtxiqx wtqvbrv riafzsw mqzsj
|
||||
eurpjd vkhdamt tmfx czeoot hiz ykz lmixzq tfur jhzr
|
||||
ipuftpj qbll sqkkdw fwncmiv bri oeeh lehd ioh wag
|
||||
suima nanngc imrmc krq atxdo woy atxdo akev qlr aezco qlr
|
||||
cfc efwbzck ozkmcxv moczkvx ccf
|
||||
bnekky iakrk sask uwgnjp iyi rynev bdnas ldh kass
|
||||
sicmw vvjbvv cap nsumc xgvrlm wsoo uoqdu psykckm
|
||||
ugg mtr wnzhmmh tjxc ehwnji lwhu mdsckk yvmk enubrqo
|
||||
grb oxmxz ohu ytetedv ssx apzlppg fdkamm sxofc jdt ynmu wyejok
|
||||
umoep rbyqm eqfk twqnog cptbbi dragna ngqs ffb cexxnc rbyqm
|
||||
utizi ormkel wvwur bdx ecelqbv xiccama aag glfvmj
|
||||
znb rsuqoa uxo svc
|
||||
obs lbifa cffi catpd
|
||||
qkxwian ajlzjz wewduzp bbyv qmt fsr qgiu epinp ghmf
|
||||
hatg bfgmb aght ghat
|
||||
kuq inp dun cknbun wmwsu drlmmg kyxc bdl
|
||||
bddybth swdbf jhi fva qpobio bjwm wjaztp jywi
|
||||
mgckz vhveu zkemhp zdf xtiqqew mlx wazgd
|
||||
umbjq pya lvvxf jeavij rhrxvew bwjqgpr piz
|
||||
xaycpwo vjcuc qksc yuixhni sfbfb dydyaq gdfvb tggg xidphvf bpjdrl goskxym
|
||||
agxfoip gguif wvo agxfoip ntkbaw fbyggy ooft zxih
|
||||
nzvsu ffwq uxvfbl qrql olhmhom qhdltg ymwz krtndtx olhmhom nfsv krtndtx
|
||||
qdp jqk ustz xjripzv mnk grnodk pjwdsj uug zqxjqj
|
||||
mufrcox zunisfs ocvcge acamm xua vor bsde kxr vor kxr orccxx
|
||||
ncycbp anvcxay bmm wndmeaw oso knmk mmb wamenwd kmkv ppdd
|
||||
motdcn xzagzwu vuzt utffrn yuqxzrh uvzt ujttq
|
||||
tauoqy coiy ybesz tauoqy wpmr trquyne ahxbj jzhems dsdy
|
||||
aczq ypw pgmzz srfn quatjgf
|
||||
cih ypapk bfxvr euvhkk gugru auhqui
|
||||
vyf pssgfvy dnhvbfl xpacme dnhvbfl mzdv iynq hcqu
|
||||
lbzvbu hhxiq hdfyiiz iyzihfd xhqih uzdqyxr
|
||||
iapbdll vdr cprmrkk vdr dfjqse mlry flpqk vdr
|
||||
grrfkq xcpxd grrfkq dxc bjpr prvwh swoc swoc
|
||||
bopo chvwuhf qhd ieesl xey ieesl fnjcbe
|
||||
kic fyq hsucnu agwyl pzzmd hqksh psw
|
||||
mxf uau iti lcoz lpg zbu ocre wqlocmh mxf nidqj lcoz
|
||||
bypmix ptzxgmf xmtzgpf hrvzzq
|
||||
lbfw zwusma lbfw tuyyy
|
||||
lrf uej unswvh obgsb npbl zajr kenea uej qnyjcu wzufim qpzkgya
|
||||
qcrxj llyu kligt hlm ehwtbx dda lgsvhdt xewfcv uikn
|
||||
nfzjx izqdbq mfbxs imiuc yqxb xlmvix izqdbq eflqfq wku omgtuu izqdbq
|
||||
lasdwg hiy btzt eefd eyoep icn nnmhg otml rek luixac nyzgn
|
||||
vekteds utsuxdx utsuxdx vekteds
|
||||
feyov qrij zbebwg ijrq seplram wttkwm zewbgb kzuhuh
|
||||
dmkgtv wohgqo ddtqmv zatahx mym hqowog tkmvdg
|
||||
vhha wjrmuyx kqh vyyrj xzchbi ejsdq orlxg vyyrj dlrc
|
||||
yetngqn zdtuqox hkarjei fqpsgh eaqwbg zsssog ghb gddqqzr hbg
|
||||
obldb zsrhz zxp uxphnev mwnbc pfjft fms xwslk vjm fxy
|
||||
nfij dbfykv ttq gyjgac igxuyqi gtiioqx ilhdex dbfykv uyp bdiwya gqf
|
||||
pffzruz vogfosh dcs wje
|
||||
pohhf fhpoh oon yyz
|
||||
xxuam afwm qxl lnt syyr bwxhhf sozauq shlhfmz kwnn milav ochq
|
||||
wefcqrt gejw cwerqtf fttf gjew
|
||||
jfsvnmr osca epwtle pgfif sxom
|
||||
exlfzmq nakp rgdnx rrcvth vhrrct aajjdrt ryyg dsozd jdqlqj pakn iruv
|
||||
rmcvo txszcs xxhyxz hbsozk wshkocf rmcvo rcbnt
|
||||
kitz yjgney yvkymef nauj hmllsgl kyhm kqr pzsu rcf pzsu qpte
|
||||
cdinpx bfur mkj naz ihkheyr nohhoe
|
||||
ylris xeqcgup wap bbfih tgfoj
|
||||
ina gnlnm zyeqhij cudfuf ipufae bvkdzni aat teqsg cudfuf bjokrbl teqsg
|
||||
aedx edax dnfwq qndwf
|
||||
rdngdy jde wvgkhto bdvngf mdup eskuvg ezli opibo mppoc mdup zrasc
|
||||
qcnc iaw grjfsxe gnf gnf
|
||||
zbjm snznt zelswrk gkhlnx dqxqn qqxnd dmro
|
||||
zisecvx ztezof uzbq otnrtj qsjzkwm ewvcp rlir bfghlq tgapdr qxmr
|
||||
ipnqj opjf vabyoe wkwnd
|
||||
wyf mfqxnrf apm snarf jqu aaghx pwecbv lvghayg
|
||||
acncv jmmbwlg oiphlm ifuo cvt
|
||||
pvmb egansnd zmh gcuzzci rrxpslv ubith
|
||||
uoleptg xbouzn xbmg cfh cpn wpqi xbouzn xtxis sxzpns
|
||||
rilybri kurbpq vfmjpck tjyogho hfyxad svfofx lfbbhxj khaerfs iqr
|
||||
seaebgz wlmtkre qguv qguv wlmtkre
|
||||
sgo edkxya zdqgwtt gxu nibuu rairqoq mzxli dci qsv
|
||||
tsol mdhzqr rmaqnru ggvcq arbwkn hlkcnj ljkcuof
|
||||
mmliphp ocup puoc eijjv
|
||||
gmajqpb ijki ijki kvz
|
||||
pmqss unhlpcj dlkll nuhlcjp expe tlurzmv nsy vlumtzr tgseozl
|
||||
gkvaoni hsba hsba viuedv phyoclp fdq phyoclp febld nqfs
|
||||
rxvdtw abn pntv qrqfzz slsvv abn lrxix mnu npot
|
||||
ghlfjp woy xwkbmv bkahpkj jve cncvk jvdype fwgvoju yrkwjp gwfvln mvkv
|
||||
kmluh mie bby fwer chsinb ojglqr nqk mie
|
||||
yzmiu igkgca ybnsqja jpfejtp yjddy xsosxfi ingx qwuhb emrkwpx idqjmmm
|
||||
btrllw mphm dkvo ewdl dchcul yah btrllw kmqi mtvgk wtb
|
||||
hxsgard yuikc lykt tdee adprp gpougod klnzk mzsmlb
|
||||
hdn znblw ifoblur bwzln dbv
|
||||
smofpbs vjuyiro llk lfzesga tybu tybu
|
||||
gffnpug xaup iqiyz fjkpnkz drrk fwyxw lwzfskz gslwpmv vjxylva tbkyo nib
|
||||
evydmb nhwuiiu fkerq nkgbuyy uclrs ydjgglh xhotwbm riirgzt
|
||||
bsub eavbt uvd dpzwyt rhn khrbptt xszckc djnfxju axofhat powmso nvdffrv
|
||||
xtuykl fjz mbikc xpnx hmey fjz fjz
|
||||
rkls nwdcsyx rkls rkls
|
||||
tygml untequ ybdfumz nqffbq uipc sove hfnqj
|
||||
ytecew vven koqn royynd qsn ksl qsn sdw
|
||||
hknlw qwho whoq oqwh
|
||||
lzmmtqu qvhyeo cnofuj utpwkjz gnirz yhhu aodbnd
|
||||
zsr axw kwtzcv tydzo kwtzcv lkxsm
|
||||
rbjtqe nihifd gvdxd bpxzy rxteky vgcgllv vbbua anygiup rqo
|
||||
dpd wblfwp wblfwp wblfwp ygahc tqjbaq
|
||||
gsw gsw pacgj xmrcz zmxhmch xmrcz
|
||||
pdq rhe xqmq lgpkhg fyffrot ovnqh wle
|
||||
tbjavke ypzzrj jizx gdxoh icjsat otfh fmygumv
|
||||
snch nxlgjgp jeyn sxoqfj jtage jtage iuice
|
||||
rtb coefuj grwg grwg rtb krhqnma vfhgbr
|
||||
vhegtl btorwxg szcev kbvkx itsk nlzpbed
|
||||
hiukrf ilzkm yllhh xsgwkdp zyy kjbv
|
||||
rfcg tdorci zcj wzftlv rfcg rfcg
|
||||
lgbc lzizat vsno pau nvv vsno bbr lzizat qhtb gwp
|
||||
sfwnio tcugjk bsfsz ykyfwg ibkap fsrvy mygk kzunawx zyhyh
|
||||
mpavlh qps bylh lttjkz rqabgk vewb bwev tlzkjt gzrbxga ktmso prpkj
|
||||
gpf ims ynh ffrs vpa iemp gofh cgbauje
|
||||
secys qks mcnfhwh drog kqs pajy zoltkw lfihnb myb ioxptu
|
||||
ytq nrta ouk ajqblf yuwwcd zdy blyoxbw dakk nvgi bzrhzaa
|
||||
nkoych sufiia xkdvw crtldee zycl qblab egqhr qblab
|
||||
nllno muxaf vds qjnitmw zkpj wskyhft kmqct xamuzpw qcai cdjtbt kaxv
|
||||
qzdytpe osr fuw osr qzdytpe whperd rydwdcl knoa
|
||||
zkdznhd peh duoygr zamrgl irnvj otpe pltpq jdkecg
|
||||
byzgw rece iigdug ehif tpgje
|
||||
ccnn foqdran gbctca tefdjxh ntcr rjciii xip xlss crl wvvhzqm twyohf
|
||||
dqyii milqqc qjgkojp qjgkojp ryde
|
||||
tdkyj tbrcud tsba vqtmb cjwxnf
|
||||
hqhmq wemvrce nagig pwnw nagig epg nagig vlsi
|
||||
tqgvw luoplw hccti npjm rytdruq cylrsun rytdruq vjsbjl rytdruq ppti
|
||||
itgt tuwc itgt rvp itgt tigns eipl ksmru
|
||||
pdw wdhtkn nbdbpn wff zhuuipg rvemv qxr
|
||||
qgkwdq cjilayh ymeks mrpuzai dwgs stfstgz ucvqhb yout oiq
|
||||
vpxik ypfr qytimvu qms oxbmw ppyfx
|
||||
fwwidn gdhd pyuexk snsz iwndfw
|
||||
lfcb sllxjna lfcb hpzahfg mmvgaa svny jhuzd
|
||||
unyg gicmzd fwc spkciy toyq wjupckd vzzx iuqgka ytqycb pxsufj
|
||||
goj tnrcml eyizngj txa xrkiw zvu igduz
|
||||
wek xrrlkna clyof rrlnxak
|
||||
cjm rmyuku vjom gtf
|
||||
buk cfae awstd dywgqp hxo wcxvf laihqw xdqfes wdbh qceh uzlwj
|
||||
sudguo dxwplto rlebdh bkamu dxwplto
|
||||
crwkyxm yuz kjtdhom crwkyxm
|
||||
trhc sduorxr aizfryh rsudxor gbyc
|
||||
pczkyl bptp qnn nxmpwsx udrg hhlb rubtrmx twzodlp xygnht
|
||||
jmqct cden yfajtkz fevcw sxonbxz sxonbxz qkzkm hhngr fbv
|
||||
sdsnm mwvicr wypfi cty ndbowr woiz mrauwzd qlno mwvicr
|
||||
vteyo fng lvr lxytn txpj milg
|
||||
wjx ahtmgo cgwcaj kaxae fhlvlqf
|
||||
ezj eetqhzu upwda iiefwlk vyvby
|
||||
imalvy yeghqe jwcu mvrod cwju
|
||||
bxnmsa yhfu npsdar tsbri hfuy sirbt oofxmy
|
||||
fkndt elbjtn vepqtxt elvpf fpelv bzkgag qttexpv prblwb
|
||||
rmq iqs yvprnyy iezqrzm wlqsrr
|
||||
yviovq lekxghj oey qwhzj lxknxw qiyovv ksnt jptz
|
||||
tyrg cifxt hugqf tyrg ffuiv jmax qyw fozfosq ffuiv
|
||||
nmg rsl jpzazd qbtlf yxqtsj czwmdfd bamge lbjdof uqy jssc
|
||||
cbx boozjip pwgvzlq rjz kxy kxy hszacok fvsq jhnir cnsba gafz
|
||||
sbcuxb wfur nnnfqjj fdwg huhe sbcuxb
|
||||
icwk qelbxs uevp qped zsnhh wpuok wddxsln ftnzupr ruxol cgxjb jbhh
|
||||
izcp htykj xxmndoq amnspe htykj
|
||||
vverol oixwlny vqd tvfzu henc gnyrwr
|
||||
ytxio etytsx choynep zqapo hfjit
|
||||
lkvgr oyzfa taiqr jok djatvy ckif tmdw oyzfa zroy
|
||||
jlgpyp kkqysg oqjki hjohoug hbhta muilz zft
|
||||
sumfyu wftcu bwwdcy lezimwa qwvxv zwh mqyv bmfot aii torcol rnt
|
||||
tpdj xrw ccsbnh fhptv fwkxjfm dmqaokd bjci
|
||||
zxi vmf vmf dpyg
|
||||
sfzxysw lcms bkojtv bkojtv
|
||||
opywo qll ipkitr mtwp tudrr svhyp huz bxsdpn xomfy
|
||||
gkod luo qrosbp orbd rpsjzyd rlh gdok tze
|
||||
nusiuq nusiuq zeys ahufexc
|
||||
veno jntg avtmtdn qojxru zegdcql odfcetz pgehau
|
||||
uqun vigjm ykac ozlelj danmji bibugox
|
||||
rpuozh ajwru rbvuevv uhzsq
|
||||
iawoe tyb aewio ymf byt inijv ctu fcys micsgzl pbby alt
|
||||
gktyxp ris mqpfm bkqsfl nrg idbbcxg jhcf
|
||||
qibt invvv qibt luitx rnm eby hrfbmwl wnap sgkzvb qlwc hrfbmwl
|
||||
jwkv qecsjbw lycgldd wjvk tjcp dycldgl pzrvr zrlcf kji
|
||||
nzsrmiq nmhse ilivrk kqv
|
||||
besmyzi imkgpt iekbjax abxeijk uvzs wwv
|
||||
jdocl uki ltswp tjkljc ymce iuepze qygqxzs tei lkry
|
||||
hhyfy gvzd mqksxlq czn afe mesnag eep frwgekg mqksxlq phpy
|
||||
ehg connnza ekt ddgokw
|
||||
mpbsoms uzhzl xevww ztt uzhzl
|
||||
lftybr firc awsud dsxdkk ltf ipjv dtx lcymth
|
||||
vkcpb gxtxq yioeq fexj xxgqt
|
||||
srvca fslnnvf nfmkpvt egw wemumq jie vznf dzsjw cukf kcvyir
|
||||
yxjkl lyjkx jyxlk kgc xtz
|
||||
tpoe xzov csp leleoqo noyre tdhf cyib sjgtdx raehdw nmcxp
|
||||
qvt uhznqe bpvos vtq ddlebtd tqv
|
||||
xlw utsxs gpia rvlvnts elkxr dddihy tnrslvv ibf wlx bxg
|
||||
cwqnnrt rkkqyf dye yde fzl pthanj
|
||||
boc rqjenpp xjqte jteqx pvoofc pidqe ruoucy gvnro ognrv
|
||||
qhalb gnazwc fhl iuti
|
||||
clnbjfo nnfs nnfs heymvr oarew oarew nxu
|
||||
lwtrotg hiaxwj ymzbly nvhzjhj zlsaheg nvhzjhj ymzbly
|
||||
rrvi tsjp tsjp tsjp killji
|
||||
rpx hiclj cmwq ibhj nfd
|
||||
pvwymn iebkd xmpw vuhhkap ksw zigzy mzzyyxy rmuh iwwhea cglfq
|
||||
rlwelgy sffml jin qsdzro xlsty mgqzuu etxjuo emzd jgnoyq tkjuy vfvb
|
||||
tkctdj hhkuc viskmy obw
|
||||
zvjkuj akeky ikj jqd hfhzbwe bkc
|
||||
btev nrdo hcyiuph stf qharfg vpmel mpfz nvs ytgbbc
|
||||
ieepn ndueuw svmdr tcvumw mceyrn mrjwhyl tbdj mgrgvz
|
||||
uxrs ckyi xpmqm czzrkl cjp
|
||||
nlliwd wrqkrkz yjmng nlliwd zirde hcjjn wco ysf mgl
|
||||
dxti lcahe ommare izlwf ramsfb nzgfvo ijvm fwymrdu bndq
|
||||
isxy jpvuzu tdduyhw dixp cfa fkzbteg ytoi kepk ysf yqcpi
|
||||
qmeprfj soqo ncgeor cqsuuj grzy wogxy vyblnbg slvtry vdols kka
|
||||
ltykfp gtzl olrp gxend vapee deq
|
||||
emywfbn dbfiut rkt wvwe dbfiut bwffhea yuzcxv gogpicp wvwe
|
||||
vqvmrp ofbk dlfabd jwllzxk obx vqpwjj umvng tqwis fstxy fstxy
|
||||
miha zgvyux rmraszo xwf
|
||||
kjaagk btm kjaagk wkewjrg kjaagk
|
||||
lbmli aizs omrdr gzktnx asiz ptanzpa xlo ljre ckyb wob
|
||||
svz dlk rijagg avxmg fkzwhk uro gegm
|
||||
dzplum temdw jqnm tvxcww bmg tftttpp deuw comxey xfimzjx caluczi nqn
|
||||
uwvhxa ztkd nlsdyt vihl julkwwv uzch dwakhs
|
||||
wkhuihh ycrc cxff vzcfhpp uegfd gaok kcnvz lhzogq lwa tyrypvu
|
||||
idp zmrrzp zmrrzp nktp xsnx rjsxn
|
||||
eybrnib ivgntl vaxsbpi eybrnib
|
||||
nzvnq xvbfa pbhwwh ylju runvsj imlx vztesn
|
||||
nfdohd nfdohd gtevnky pivjyct ihvd fzcsrq lko fmqk
|
||||
kwpkks ecikxu bcxswlt qvrxm sbcqmh
|
||||
kdjrmj piuh kdjrmj vnaf gyedkg vptxgm xezssxx zsg qjzpo zsg
|
||||
oqo sley aqx qmpqb fgmylbj egd zivj kepxizv kuakyn lunbnd
|
||||
hmcf hmcf xlhgc hmcf cdlm buofnx
|
||||
onjcj yluonz kzmk phqo phqo phqo
|
||||
ohaafy efl bnkkjww wwjnyoj dxeaig ywnjjwo slk hrbebw ohlyju elf
|
||||
msohiqz aunk njki bfktdgi htmyrj mgx
|
||||
numlzrl rmnlulz glb ltt fhbajz gqxpu
|
||||
gko hco oai ryq xwy sdqosft spjkiu cxfhg ycwpglh noy rah
|
||||
btzpjem brpk vqr atxu rhlh rqv jmg fvyus
|
||||
phmxxgj ejx xje qtk hsb kqt npwj gqt
|
||||
hujyjp nwmsd ant zipuya lrkahww uwqal vzlo qmbo twkjkse ufivi
|
||||
zfbnyz fwvh xrnrw usn zin daq iwjzj
|
||||
yykyg iwypfy hehqnl cjvk cevdrec
|
||||
gui muuto wsta glqmx gfo rdmbv mxwz gffzt eejpw gion
|
||||
lpng nduid iqbpu nduid knrqd
|
||||
xwxn oefpckv gjaua ugaaj gjuaa
|
||||
qxk aeql trqdmqc crzlinj crzlinj trqdmqc rijcne ewyf
|
||||
rfv qmbe fvr bmeq
|
||||
upqyfw lowzq wpen upqyfw gfskbil sljuzh wpen
|
||||
bdcara qyhx rtaez qyq gbyr
|
||||
evzls qxtxq clzd svbgqi zxlzgss vtrre fko eebo qjyl
|
||||
zaapeo kpwhz tygknau nyd pch trp xqe
|
||||
ypzcafg rnqmbh qtteg sncu ssojhhm zonfym thir xmgheb wqj gpjg ssojhhm
|
||||
wvcwyn xrf muozyya lasdp xpjgu kpqv zkiihiv ifje cbdlavg xbied hfnaa
|
||||
qqqb rettz rycukl ihpkhh
|
||||
dnxzxqv znb znb fbxj azxtezb xvxa
|
||||
peqkd xlzqkov esgnw ucku hrwpfxd xtd vnig vlmfp ajte qswr kqoj
|
||||
dpwy oavzkk dwyp ehij upqxgii pydw
|
||||
amfc hfv xmqa nqvn cal rqmcq oej amqx cla ntxj
|
||||
hqhhe qkbhwli wmhlcq xaczs peywuo
|
||||
vcr xfv xfv kymo qpszwzo xfv
|
||||
nmrbur tswo xbo ljlrzo bmhpgc pev zovkznz lok wbbhtkk
|
||||
tojj lxqgr rhjavrm ndsdup gdbjwaq cqpnl wfaxivl rfry ryfr udspnd
|
||||
beffod sknlph amb feobdf
|
||||
mldgn jxovw yuawcvz kzgzwht rxqhzev fsdnvu vluuo eycoh cugf qjugo
|
||||
tlnd qcxj ker fdir cgkpo nrqhyq raef uqadf iahy rxx
|
||||
mhvisju lhmdbs tcxied xeidtc ujry cditex gvqpqm
|
||||
cgc jazrp crgnna uvuokl uvuokl uoiwl sknmc sknmc
|
||||
rvbu czwpdit vmlihg spz lfaxxev zslfuto oog dvoksub
|
||||
1074
data/advent2017/input5.txt
Normal file
1074
data/advent2017/input5.txt
Normal file
File diff suppressed because it is too large
Load Diff
1337
data/advent2017/input7.txt
Normal file
1337
data/advent2017/input7.txt
Normal file
File diff suppressed because it is too large
Load Diff
1000
data/advent2017/input8.txt
Normal file
1000
data/advent2017/input8.txt
Normal file
File diff suppressed because it is too large
Load Diff
1
data/advent2017/input9.txt
Normal file
1
data/advent2017/input9.txt
Normal file
File diff suppressed because one or more lines are too long
4513
ipynb/Advent 2017.ipynb
Normal file
4513
ipynb/Advent 2017.ipynb
Normal file
File diff suppressed because one or more lines are too long
@@ -99,7 +99,7 @@
|
||||
" \"The eight neighbors (with diagonals).\"\n",
|
||||
" x, y = point \n",
|
||||
" return ((x+1, y), (x-1, y), (x, y+1), (x, y-1),\n",
|
||||
" (X+1, y+1), (x-1, y-1), (x+1, y-1), (x-1, y+1))\n",
|
||||
" (x+1, y+1), (x-1, y-1), (x+1, y-1), (x-1, y+1))\n",
|
||||
"\n",
|
||||
"def cityblock_distance(p, q=(0, 0)): \n",
|
||||
" \"City block distance between two points.\"\n",
|
||||
@@ -959,7 +959,7 @@
|
||||
"\n",
|
||||
"def run(commands, screen):\n",
|
||||
" \"Do all the commands and return the final pixel array.\"\n",
|
||||
" for cmd in Input(8):\n",
|
||||
" for cmd in commands:\n",
|
||||
" interpret(cmd, screen) \n",
|
||||
" return screen\n",
|
||||
"\n",
|
||||
|
||||
@@ -1737,7 +1737,7 @@
|
||||
"# Final Program\n",
|
||||
"\n",
|
||||
"Now for a final, longer example, Conway's Game of [Life](https://en.wikipedia.org/wiki/Conway's_Game_of_Life),\n",
|
||||
"which shows that BASIC is capable of handling a non-trivial problem—but I wouldn't want to rely on it for anything much bigger. This should give us some added confidence in the validity of the interpreter, but I would say the interpreter needs more work before I would trust it. I hope you found working through the interpreter infortative, and maybe you have ideas for how to improve it, or to develop an interpreter for another language."
|
||||
"which shows that BASIC is capable of handling a non-trivial problem—but I wouldn't want to rely on it for anything much bigger. This should give us some added confidence in the validity of the interpreter, but I would say the interpreter needs more work before I would trust it. I hope you found working through the interpreter informative, and maybe you have ideas for how to improve it, or to develop an interpreter for another language."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1931,15 +1931,6 @@
|
||||
"999 END \n",
|
||||
"''')"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {
|
||||
"collapsed": true
|
||||
},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
||||
@@ -819,7 +819,7 @@
|
||||
"\n",
|
||||
"# Faster Arithmetic (mod *p*)\n",
|
||||
"\n",
|
||||
"Arithmetic is slow with integers that have thousands of digits. If we want to explore much further, we'll have to make the program more efficient. An obvious improvement would be to do all the arithmetic module some number $m$. Then we know:\n",
|
||||
"Arithmetic is slow with integers that have thousands of digits. If we want to explore much further, we'll have to make the program more efficient. An obvious improvement would be to do all the arithmetic modulo some number $m$. Then we know:\n",
|
||||
"\n",
|
||||
"$$\\mbox{if} ~~ \n",
|
||||
"A^x + B^y = C^z\n",
|
||||
|
||||
@@ -108,7 +108,7 @@
|
||||
" return len(possible_dates) == 1\n",
|
||||
"\n",
|
||||
"def hear(possible_dates, *statements):\n",
|
||||
" \"Return the subset of possibile dates that are consistent with all the statements.\"\n",
|
||||
" \"Return the subset of possible dates that are consistent with all the statements.\"\n",
|
||||
" return {date for date in possible_dates\n",
|
||||
" if all(stmt(date) for stmt in statements)}\n",
|
||||
"\n",
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
"- `Move`: A *move* is a set of positions to flip. A position will be an integer index into the coin sequence, so a move is a set of these such as `{0, 2}`, which we can interpret as \"flip the 12 o'clock and 6 o'clock positions.\" \n",
|
||||
"- `all_coins`: Set of all possible coin sequences: `{'HHHH', 'HHHT', ...}`.\n",
|
||||
"- `rotations`: The function `rotations(coins)` returns the set of all 4 rotations of the coin sequence.\n",
|
||||
"- `update`: The function `update(belief, move)` retuns an updated belief state, representing all the possible coin sequences that could result from any devil rotation followed by the specified flip(s). (But don't flip `'HHHH'`, because the game would have already ended.)\n",
|
||||
"- `update`: The function `update(belief, move)` returns an updated belief state, representing all the possible coin sequences that could result from any devil rotation followed by the specified flip(s). (But don't flip `'HHHH'`, because the game would have already ended.)\n",
|
||||
"- `flip`: The function `flip(coins, move)` flips the specified positions within the coin sequence."
|
||||
]
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -402,7 +402,7 @@
|
||||
"**No.** The game is a win for the second player, not the first.\n",
|
||||
"This agrees with [xkcd](https://xkcd.com/)'s Randall Monroe, who [says](https://blog.xkcd.com/2007/12/31/ghost/) *\"I hear if you use the Scrabble wordlist, it’s always a win for the second player.\"*\n",
|
||||
"\n",
|
||||
"But ... Wikipedia says that the minimum word length can be \"three or four letters.\" In `enable1` the limit was three; let's try agian with a limit of four:"
|
||||
"But ... Wikipedia says that the minimum word length can be \"three or four letters.\" In `enable1` the limit was three; let's try again with a limit of four:"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -645,7 +645,7 @@
|
||||
"\n",
|
||||
"In Way 1, we could pre-sort the rectangles (say, biggest first). Then we try to put the biggest rectangle in all possible positions on the grid, and for each position that fits, try putting the second biggest rectangle in all remaining positions, and so on. As a rough estimate, assume there are on average about 10 ways to place a rectangle. Then this way will look at about 10<sup>5</sup> = 100,000 combinations.\n",
|
||||
"\n",
|
||||
"In Way 2, we consider the positions in some fixed order; say top-to-bottom, left-to right. Take the first empty position (say, the upper left corner). Try putting each of the rectangles there, and for each one that fits, try all possible rectangles in the next empty position, and so on. There are only 5! permutations of rectangles, and each rectangle can go either horizontaly or vertically, so we would have to consider 5! × 2<sup>5</sup> = 3840 combinations. Since 3840 < 100,000, I'll go with Way 2. Here is a more precise description:\n",
|
||||
"In Way 2, we consider the positions in some fixed order; say top-to-bottom, left-to right. Take the first empty position (say, the upper left corner). Try putting each of the rectangles there, and for each one that fits, try all possible rectangles in the next empty position, and so on. There are only 5! permutations of rectangles, and each rectangle can go either horizontally or vertically, so we would have to consider 5! × 2<sup>5</sup> = 3840 combinations. Since 3840 < 100,000, I'll go with Way 2. Here is a more precise description:\n",
|
||||
"\n",
|
||||
"> Way 2: To `pack` a set of rectangles onto a grid, find the first empty cell on the grid. Try in turn all possible placements of any rectangle (in either orientation) at that position. For each one that fits, try to `pack` the remaining rectangles, and return the resulting grid if one of these packings succeeds. "
|
||||
]
|
||||
@@ -1239,7 +1239,7 @@
|
||||
" pass\n",
|
||||
" \n",
|
||||
"def replace_all(text, olds, news):\n",
|
||||
" \"Replace each occurence of each old in text with the corresponding new.\"\n",
|
||||
" \"Replace each occurrence of each old in text with the corresponding new.\"\n",
|
||||
" # E.g. replace_all('A + B', ['A', 'B'], [1, 2]) == '1 + 2'\n",
|
||||
" for (old, new) in zip(olds, news):\n",
|
||||
" text = text.replace(str(old), str(new))\n",
|
||||
|
||||
@@ -402,7 +402,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# (2) Count Strings with Alphabetic First Occurences\n",
|
||||
"# (2) Count Strings with Alphabetic First Occurrences\n",
|
||||
"\n",
|
||||
"Here's another problem:\n",
|
||||
"\n",
|
||||
|
||||
@@ -1254,7 +1254,7 @@
|
||||
" \n",
|
||||
"$P(w_1 \\ldots w_n) = P(w_1 \\mid start) \\times P(w_2 \\mid w_1) \\times P(w_3 \\mid w_2) \\ldots \\times \\ldots P(w_n \\mid w_{n-1})$\n",
|
||||
"\n",
|
||||
"This is called the *bigram* model, and is equivalent to taking a text, cutting it up into slips of paper with two words on them, and having multiple bags, and putting each slip into a bag labelled with the first word on the slip. Then, to generate language, we choose the first word from the original single bag of words, and chose all subsequent words from the bag with the label of the previously-chosen word. To determine the probability of a word sequence, we multiply together the conditional probabilities of each word given the previous word. We'll do this with a function, `cPword` for \"conditional probability of a word.\"\n",
|
||||
"This is called the *bigram* model, and is equivalent to taking a text, cutting it up into slips of paper with two words on them, and having multiple bags, and putting each slip into a bag labeled with the first word on the slip. Then, to generate language, we choose the first word from the original single bag of words, and chose all subsequent words from the bag with the label of the previously-chosen word. To determine the probability of a word sequence, we multiply together the conditional probabilities of each word given the previous word. We'll do this with a function, `cPword` for \"conditional probability of a word.\"\n",
|
||||
"\n",
|
||||
"$P(w_n \\mid w_{n-1}) = P(w_{n-1}w_n) / P(w_{n-1}) $"
|
||||
]
|
||||
@@ -1419,9 +1419,9 @@
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"tolkein = 'adrybaresandyholewithnothinginittositdownonortoeat'\n",
|
||||
"print segment(tolkein)\n",
|
||||
"print segment2(tolkein)"
|
||||
"tolkien = 'adrybaresandyholewithnothinginittositdownonortoeat'\n",
|
||||
"print segment(tolkien)\n",
|
||||
"print segment2(tolkien)"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1610,7 +1610,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The issue here is the finality of a probability of zero. Out of the three 15-letter words, it turns out that \"nongovernmental\" is in the dictionary, but if it hadn't been, if somehow our corpus of words had missed it, then the probability of that whole phrase would have been zero. It seems that is too strict; there must be some \"real\" words that are not in our dictionary, so we shouldn't give them probability zero. There is also a question of likelyhood of being a \"real\" word. It does seem that \"neverbeforeseen\" is more English-like than \"zqbhjhsyefvvjqc\", and so perhaps should have a higher probability.\n",
|
||||
"The issue here is the finality of a probability of zero. Out of the three 15-letter words, it turns out that \"nongovernmental\" is in the dictionary, but if it hadn't been, if somehow our corpus of words had missed it, then the probability of that whole phrase would have been zero. It seems that is too strict; there must be some \"real\" words that are not in our dictionary, so we shouldn't give them probability zero. There is also a question of likelihood of being a \"real\" word. It does seem that \"neverbeforeseen\" is more English-like than \"zqbhjhsyefvvjqc\", and so perhaps should have a higher probability.\n",
|
||||
"\n",
|
||||
"We can address this by assigning a non-zero probability to words that are not in the dictionary. This is even more important when it comes to multi-word phrases (such as bigrams), because it is more likely that a legitimate one will appear that has not been observed before.\n",
|
||||
"\n",
|
||||
|
||||
@@ -839,7 +839,7 @@
|
||||
"\n",
|
||||
"- *In `occ(n)`, is it ok to start from all empty houses, rather than considering layouts of partially-occupied houses?* Yes, because the problem states that initially all houses are empty, and each choice of a house breaks the street up into runs of acceptable houses, flanked by unacceptable houses. If we get the computation right for a run of `n` acceptable houses, then we can get the whole answer right. A key point is that the chosen first house breaks the row of houses into 2 runs of *acceptable* houses, not 2 runs of *unoccupied* houses. If it were unoccupied houses, then we would have to also keep track of whether there were occupied houses to the right and/or left of the runs. By considering runs of acceptable houses, eveything is clean and simple.\n",
|
||||
"\n",
|
||||
"- *In `occ(7)`, if the first house chosen is 2, that breaks the street up into runs of 1 and 3 acceptable houses. There is only one way to occupy the 1 house, but there are several ways to occupy the 3 houses. Shouldn't the average give more weight to the 3 houses, since there are more possibilities there?* No. We are caclulating occupancy, and there is a specific number (5/3) which is the expected occupancy of 3 houses; it doesn't matter if there is one combination or a million combinations that contribute to that expected value, all that matters is what the expected value is.\n",
|
||||
"- *In `occ(7)`, if the first house chosen is 2, that breaks the street up into runs of 1 and 3 acceptable houses. There is only one way to occupy the 1 house, but there are several ways to occupy the 3 houses. Shouldn't the average give more weight to the 3 houses, since there are more possibilities there?* No. We are calculating occupancy, and there is a specific number (5/3) which is the expected occupancy of 3 houses; it doesn't matter if there is one combination or a million combinations that contribute to that expected value, all that matters is what the expected value is.\n",
|
||||
"\n",
|
||||
"\n"
|
||||
]
|
||||
|
||||
@@ -247,7 +247,7 @@
|
||||
"- We have multiple balls of the same color. \n",
|
||||
"- An outcome is a *set* of balls, where order doesn't matter, not a *sequence*, where order matters.\n",
|
||||
"\n",
|
||||
"To account for the first issue, I'll have 8 different white balls labelled `'W1'` through `'W8'`, rather than having eight balls all labelled `'W'`. That makes it clear that selecting `'W1'` is different from selecting `'W2'`.\n",
|
||||
"To account for the first issue, I'll have 8 different white balls labeled `'W1'` through `'W8'`, rather than having eight balls all labeled `'W'`. That makes it clear that selecting `'W1'` is different from selecting `'W2'`.\n",
|
||||
"\n",
|
||||
"The second issue is handled automatically by the `P` function, but if I want to do calculations by hand, I will sometimes first count the number of *permutations* of balls, then get the number of *combinations* by dividing the number of permutations by *c*!, where *c* is the number of balls in a combination. For example, if I want to choose 2 white balls from the 8 available, there are 8 ways to choose a first white ball and 7 ways to choose a second, and therefore 8 × 7 = 56 permutations of two white balls. But there are only 56 / 2 = 28 combinations, because `(W1, W2)` is the same combination as `(W2, W1)`.\n",
|
||||
"\n",
|
||||
@@ -655,7 +655,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"So the probabilty of 6 red balls is then just 9 choose 6 divided by the size of the sample space:"
|
||||
"So the probability of 6 red balls is then just 9 choose 6 divided by the size of the sample space:"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -2249,7 +2249,7 @@
|
||||
}
|
||||
},
|
||||
"source": [
|
||||
"A table and a plot will give a feel for the `util` function. Notice the characterisitc concave-down shape of the plot."
|
||||
"A table and a plot will give a feel for the `util` function. Notice the characteristics concave-down shape of the plot."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
" R: Wotan’s plan will be fulfilled\n",
|
||||
" S: Valhalla will be destroyed\n",
|
||||
"\n",
|
||||
"For some sentences, it takes detailed knowledge to get a good translation. The following two sentences are ambiguous, with different prefered interpretations, and translating them correctly requires knowledge of eating habits:\n",
|
||||
"For some sentences, it takes detailed knowledge to get a good translation. The following two sentences are ambiguous, with different preferred interpretations, and translating them correctly requires knowledge of eating habits:\n",
|
||||
"\n",
|
||||
" I will eat salad or I will eat bread and I will eat butter. P ∨ (Q ⋀ R)\n",
|
||||
" I will eat salad or I will eat soup and I will eat ice cream. (P ∨ Q) ⋀ R\n",
|
||||
@@ -30,7 +30,7 @@
|
||||
"\n",
|
||||
" Rule('{P} ⇒ {Q}', 'if {P} then {Q}', 'if {P}, {Q}')\n",
|
||||
" \n",
|
||||
"which means that the logic translation will have the form `'P ⇒ Q'`, whenever the English sentence has either the form `'if P then Q'` or `'if P, Q'`, where `P` and `Q` can match any non-empty subsequence of characters. Whatever matches `P` and `Q` will be recursively processed by the rules. The rules are in order—top to bottom, left to right, and the first rule that matches in that order will be accepted, no matter what, so be sure you order your rules carefully. One guideline I have adhered to is to put all the rules that start with a keyword (like `'if'` or `'neither'`) before the rules that start with a variable (like `'{P}'`); that way you avoid accidently having a keyword swallowed up inside a `'{P}'`.\n",
|
||||
"which means that the logic translation will have the form `'P ⇒ Q'`, whenever the English sentence has either the form `'if P then Q'` or `'if P, Q'`, where `P` and `Q` can match any non-empty subsequence of characters. Whatever matches `P` and `Q` will be recursively processed by the rules. The rules are in order—top to bottom, left to right, and the first rule that matches in that order will be accepted, no matter what, so be sure you order your rules carefully. One guideline I have adhered to is to put all the rules that start with a keyword (like `'if'` or `'neither'`) before the rules that start with a variable (like `'{P}'`); that way you avoid accidentally having a keyword swallowed up inside a `'{P}'`.\n",
|
||||
"\n",
|
||||
"Consider the example sentence `\"If loving you is wrong, I don't want to be right.\"` This should match the pattern \n",
|
||||
"`'if {P}, {Q}'` with the variable `P` equal to `\"loving you is wrong\"`. But I don't want the variable `Q` to be \n",
|
||||
@@ -129,7 +129,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Now the mechanism to process these rules. The key function is `match_rule`, which matches an English sentence against a rule. The function returns two values, a string representing the translation of the Eng;lish sentence into logic, and `defs`, a dictionary of `{Variable: \"value\"}` pairs. If `match_rule` finds that the rule matches, it recursively calls `match_rules` to match each of the subgroups of the regular expression (the `P` and `Q` in `if {P}, then {Q}`).\n",
|
||||
"Now the mechanism to process these rules. The key function is `match_rule`, which matches an English sentence against a rule. The function returns two values, a string representing the translation of the English sentence into logic, and `defs`, a dictionary of `{Variable: \"value\"}` pairs. If `match_rule` finds that the rule matches, it recursively calls `match_rules` to match each of the subgroups of the regular expression (the `P` and `Q` in `if {P}, then {Q}`).\n",
|
||||
"The function `match_literal` handles negations, and is where the `defs` dictionary actually gets updated."
|
||||
]
|
||||
},
|
||||
@@ -435,13 +435,13 @@
|
||||
"source": [
|
||||
"That looks pretty good! But far from perfect. Here are some errors:\n",
|
||||
"\n",
|
||||
"* `Should I stay` *etc.*:<br>questions are not poropositional statements.\n",
|
||||
"* `Should I stay` *etc.*:<br>questions are not propositional statements.\n",
|
||||
"\n",
|
||||
"* `If I were a carpenter`:<br>doesn't handle modal logic.\n",
|
||||
"\n",
|
||||
"* `nothing is better`:<br>doesn't handle quantifiers.\n",
|
||||
"\n",
|
||||
"* `Either Wotan will triumph and Valhalla will be saved or else he won't`:<br>gets `'he will'` as one of the propositions, but better would be if that refered back to `'Wotan will triumph'`.\n",
|
||||
"* `Either Wotan will triumph and Valhalla will be saved or else he won't`:<br>gets `'he will'` as one of the propositions, but better would be if that referred back to `'Wotan will triumph'`.\n",
|
||||
"\n",
|
||||
"* `Wotan will intervene and cause Siegmund's death`:<br>gets `\"cause Siegmund's death\"` as a proposition, but better would be `\"Wotan will cause Siegmund's death\"`.\n",
|
||||
"\n",
|
||||
|
||||
@@ -455,7 +455,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Opponent modelling\n",
|
||||
"## Opponent modeling\n",
|
||||
"\n",
|
||||
"To have a chance of winning the second round of this contest, we have to predict what the other entries will be like. Nobody knows for sure, but I can hypothesize that the entries will be slightly better than the first round, and try to approximate that by hillclimbing from each of the first-round plans for a small number of steps:"
|
||||
]
|
||||
|
||||
@@ -255,7 +255,7 @@
|
||||
"\n",
|
||||
"We'll represent a tile as a one-character string, like `'W'`. We'll represent a rack as a string of tiles, usually of length 7, such as `'EELRTTS'`. (I also considered a `collections.Counter` to represent a rack, but felt that `str` was simpler, and with the rack size limited to 7, efficiency was not a major issue.)\n",
|
||||
"\n",
|
||||
"The blank tile causes some complications. We'll represent a blank in a player's rack as the underscore character, `'_'`. But once the blank is played on the board, it must be used as if it was a specific letter. However, it doesn't score the points of the letter. I chose to use the lowercase version of the letter to represent this. That way, we know what letter the blank is standing for, and we can distingush between scoring and non-scoring tiles. For example, `'EELRTT_'` is a rack that contains a blank; and `'LETTERs'` is a word played on the board that uses the blank to stand for the letter `S`. \n",
|
||||
"The blank tile causes some complications. We'll represent a blank in a player's rack as the underscore character, `'_'`. But once the blank is played on the board, it must be used as if it was a specific letter. However, it doesn't score the points of the letter. I chose to use the lowercase version of the letter to represent this. That way, we know what letter the blank is standing for, and we can distinguish between scoring and non-scoring tiles. For example, `'EELRTT_'` is a rack that contains a blank; and `'LETTERs'` is a word played on the board that uses the blank to stand for the letter `S`. \n",
|
||||
"\n",
|
||||
"We'll define `letters` to give all the distinct letters that can be made by a rack, and `remove` to remove letters from a rack (after they have been played)."
|
||||
]
|
||||
@@ -5491,7 +5491,7 @@
|
||||
"source": [
|
||||
"# Playing a Game\n",
|
||||
"\n",
|
||||
"Now let's play a complete game. We start with a bag of tiles wih the official Scrabble® distribution:"
|
||||
"Now let's play a complete game. We start with a bag of tiles with the official Scrabble® distribution:"
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
"\n",
|
||||
"And some of those sums, like 8, can be made multiple ways, while 2 and 12 can only be made one way. \n",
|
||||
"\n",
|
||||
"**Yeah. 8 can be made 5 ways, so it has a 5/36 probability of occuring.**\n",
|
||||
"**Yeah. 8 can be made 5 ways, so it has a 5/36 probability of occurring.**\n",
|
||||
"\n",
|
||||
"The interesting thing is that people have been playing dice games for 7,000 years. But it wasn't until 1977 that <a href=\"http://userpages.monmouth.com/~colonel/\">Colonel George Sicherman</a> asked whether is is possible to have a pair of dice that are not regular dice—that is, they don't have (1, 2, 3, 4, 5, 6) on the six sides—but have the same distribution of sums as a regular pair—so the pair of dice would also have to have 5 ways of making 8, but it could be different ways; maybe 7+1 could be one way. Sicherman assumes that each side bears a positive integer.\n",
|
||||
"\n",
|
||||
@@ -483,18 +483,18 @@
|
||||
"\n",
|
||||
"<table class=\"wikitable\">\n",
|
||||
"<tr>\n",
|
||||
"<td align=\"centre\"></td>\n",
|
||||
"<td align=\"centre\">2</td>\n",
|
||||
"<td align=\"centre\">3</td>\n",
|
||||
"<td align=\"centre\">4</td>\n",
|
||||
"<td align=\"centre\">5</td>\n",
|
||||
"<td align=\"centre\">6</td>\n",
|
||||
"<td align=\"centre\">7</td>\n",
|
||||
"<td align=\"centre\">8</td>\n",
|
||||
"<td align=\"centre\">9</td>\n",
|
||||
"<td align=\"centre\">10</td>\n",
|
||||
"<td align=\"centre\">11</td>\n",
|
||||
"<td align=\"centre\">12</td>\n",
|
||||
"<td align=\"center\"></td>\n",
|
||||
"<td align=\"center\">2</td>\n",
|
||||
"<td align=\"center\">3</td>\n",
|
||||
"<td align=\"center\">4</td>\n",
|
||||
"<td align=\"center\">5</td>\n",
|
||||
"<td align=\"center\">6</td>\n",
|
||||
"<td align=\"center\">7</td>\n",
|
||||
"<td align=\"center\">8</td>\n",
|
||||
"<td align=\"center\">9</td>\n",
|
||||
"<td align=\"center\">10</td>\n",
|
||||
"<td align=\"center\">11</td>\n",
|
||||
"<td align=\"center\">12</td>\n",
|
||||
"</tr>\n",
|
||||
"<tr>\n",
|
||||
"<td>Regular dice:\n",
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
"\n",
|
||||
"> **All Tours Algorithm**: *Generate all possible tours of the cities, and choose the shortest tour (the one with minimum tour length).*\n",
|
||||
"\n",
|
||||
"My design philosophy is to first write an English description of the algorithm, then write Python code that closely mirrors the English description. This will probably require some auxilliary functions and data structures; just assume they exist; put them on a TO DO list, and eventually define them with the same design philosophy.\n",
|
||||
"My design philosophy is to first write an English description of the algorithm, then write Python code that closely mirrors the English description. This will probably require some auxiliary functions and data structures; just assume they exist; put them on a TO DO list, and eventually define them with the same design philosophy.\n",
|
||||
"\n",
|
||||
"Here is the start of the implementation:"
|
||||
]
|
||||
@@ -2507,7 +2507,7 @@
|
||||
"Mount Vernon, Fairfax County, Virginia\t38.729314\t-77.107386\n",
|
||||
"Fort Union Trading Post National Historic Site, Williston, North Dakota 1804, ND\t48.000160\t-104.041483\n",
|
||||
"San Andreas Fault, San Benito County, CA\t36.576088\t-120.987632\n",
|
||||
"Chickasaw National Recreation Area, 1008 W 2nd St, Sulphur, OK 73086\t34.457043\t-97.012213\n",
|
||||
"Chickasaw National Recreation Area, 1008 W 2nd St, Sulfur, OK 73086\t34.457043\t-97.012213\n",
|
||||
"Hanford Site, Benton County, WA\t46.550684\t-119.488974\n",
|
||||
"Spring Grove Cemetery, Spring Grove Avenue, Cincinnati, OH\t39.174331\t-84.524997\n",
|
||||
"Craters of the Moon National Monument & Preserve, Arco, ID\t43.416650\t-113.516650\n",
|
||||
@@ -2605,7 +2605,7 @@
|
||||
"<img src=\"http://norvig.com/ipython/best-road-trip-major-landmarks.jpg\">\n",
|
||||
"</a>\n",
|
||||
"\n",
|
||||
"The two tours are similar but not the same. I think the difference is that roads through the rockies and along the coast of the Carolinas tend to be very windy, so Randal's tour avoids them, whereas my program assumes staright-line roads and thus includes them. William Cook provides an\n",
|
||||
"The two tours are similar but not the same. I think the difference is that roads through the rockies and along the coast of the Carolinas tend to be very windy, so Randal's tour avoids them, whereas my program assumes straight-line roads and thus includes them. William Cook provides an\n",
|
||||
"analysis, and a [tour that is shorter](http://www.math.uwaterloo.ca/tsp/usa50/index.html) than either Randal's or mine.\n",
|
||||
"\n",
|
||||
"Now let's go back to the [original web page](http://www.realestate3d.com/gps/latlong.htm) to get a bigger map with over 1000 cities. A shell command fetches the file:"
|
||||
@@ -2792,7 +2792,7 @@
|
||||
"\n",
|
||||
"It is time to develop the *greedy algorithm*, so-called because at every step it greedily adds to the tour the edge that is shortest (even if that is not best in terms of long-range planning). The nearest neighbor algorithm always extended the tour by adding on to the end. The greedy algorithm is different in that it doesn't have a notion of *end* of the tour; instead it keeps a *set* of partial segments. Here's a brief statement of the algorithm:\n",
|
||||
"\n",
|
||||
"> **Greedy Algorithm:** *Maintain a set of segments; intially each city defines its own 1-city segment. Find the shortest possible edge that connects two endpoints of two different segments, and join those segments with that edge. Repeat until we form a segment that tours all the cities.*\n",
|
||||
"> **Greedy Algorithm:** *Maintain a set of segments; initially each city defines its own 1-city segment. Find the shortest possible edge that connects two endpoints of two different segments, and join those segments with that edge. Repeat until we form a segment that tours all the cities.*\n",
|
||||
"\n",
|
||||
"On each step of the algorithm, we want to \"find the shortest possible edge that connects two endpoints.\" That seems like an expensive operation to do on each step. So we will add in some data structures to enable us to speed up the computation. Here's a more detailed sketch of the algorithm:\n",
|
||||
"\n",
|
||||
@@ -3431,7 +3431,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"If we have more than 3 cities, how do we split them? My approach is to imagine drawing an axis-aligned rectangle that is just big enough to contain all the cities. If the rectangle is wider than it is tall, then order all the cities by *x* coordiante and split that ordered list in half. If the rectangle is taller than it is wide, order and split the cities by *y* coordinate. "
|
||||
"If we have more than 3 cities, how do we split them? My approach is to imagine drawing an axis-aligned rectangle that is just big enough to contain all the cities. If the rectangle is wider than it is tall, then order all the cities by *x* coordinate and split that ordered list in half. If the rectangle is taller than it is wide, order and split the cities by *y* coordinate. "
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -519,7 +519,7 @@
|
||||
"\n",
|
||||
"## 17 May 2016\n",
|
||||
"\n",
|
||||
"The Thunder finished off the Spurs and beat the Warriors in game 1. Are the Thunder, like the Cavs, peaking at just the right time, after an inconsistant regular season? Is it time for Warriors fans to panic?\n",
|
||||
"The Thunder finished off the Spurs and beat the Warriors in game 1. Are the Thunder, like the Cavs, peaking at just the right time, after an inconsistent regular season? Is it time for Warriors fans to panic?\n",
|
||||
"\n",
|
||||
"Sure, the Warriors were down a game twice in last year's playoffs and came back to win both times. Sure, the Warriors are still 3-1 against the Thunder this year, and only lost two games all season to elite teams (Spurs, Thunder, Cavs, Clippers, Raptors). But the Thunder are playing at a top level. Here's my update, showing that the loss cost the Warriors 5%:"
|
||||
]
|
||||
|
||||
@@ -157,7 +157,7 @@ def sreport(species):
|
||||
if d==glen: d = '>25'
|
||||
print 'diameter %s for %s (%d elements)' % (d, s, len(c))
|
||||
SS[d] += 1
|
||||
print 'Diameters of %d labelled clusters: %s' % (len(set(species)), showh(SS))
|
||||
print 'Diameters of %d labeled clusters: %s' % (len(set(species)), showh(SS))
|
||||
|
||||
def compare(cl1, cl2):
|
||||
"Compare two lists of clusters"
|
||||
|
||||
12
py/spell.py
12
py/spell.py
@@ -58,20 +58,20 @@ def unit_tests():
|
||||
assert words('This is a TEST.') == ['this', 'is', 'a', 'test']
|
||||
assert Counter(words('This is a test. 123; A TEST this is.')) == (
|
||||
Counter({'123': 1, 'a': 2, 'is': 2, 'test': 2, 'this': 2}))
|
||||
assert len(WORDS) == 32192
|
||||
assert sum(WORDS.values()) == 1115504
|
||||
assert len(WORDS) == 32198
|
||||
assert sum(WORDS.values()) == 1115585
|
||||
assert WORDS.most_common(10) == [
|
||||
('the', 79808),
|
||||
('the', 79809),
|
||||
('of', 40024),
|
||||
('and', 38311),
|
||||
('and', 38312),
|
||||
('to', 28765),
|
||||
('in', 22020),
|
||||
('in', 22023),
|
||||
('a', 21124),
|
||||
('that', 12512),
|
||||
('he', 12401),
|
||||
('was', 11410),
|
||||
('it', 10681)]
|
||||
assert WORDS['the'] == 79808
|
||||
assert WORDS['the'] == 79809
|
||||
assert P('quintessential') == 0
|
||||
assert 0.07 < P('the') < 0.08
|
||||
return 'unit_tests pass'
|
||||
|
||||
Reference in New Issue
Block a user