X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=problem-ideas.ipynb;h=6c5268b02f37792f2bc9a59ac58e2ee918c6b66f;hb=HEAD;hp=19e4ec300e1e3b62ecdfdb46c0504c0ce30d613e;hpb=26e4d67c40509502e77c6935e7ded629c661f8e1;p=ou-summer-of-code-2017.git diff --git a/problem-ideas.ipynb b/problem-ideas.ipynb index 19e4ec3..6c5268b 100644 --- a/problem-ideas.ipynb +++ b/problem-ideas.ipynb @@ -9,6 +9,31 @@ "[Project workspace](https://learn2.open.ac.uk/course/view.php?id=206050)\n" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Problems by day\n", + "\n", + "1. [Ticket prices](01-ticket-prices)\n", + "2. [Lift instructions](02-lifts)\n", + "3. [Door codes](03-door-codes)\n", + "4. [Ghost leg, follow and pack](04-amidakuji)\n", + "5. [Display board](05-display-board)\n", + "6. [Tour shapes](06-tour-shapes)\n", + "7. [Virtual machine](07-interpreter)\n", + "8. [Word chains](08-word-chains)\n", + "9. [Resolving the bill](09-resolving-the-bill)\n", + "10. [Word search](10-word-search)\n", + "\n", + "### Extras\n", + "* [Suitcase packing](10-suitacase-packing)\n", + "9. [Filling the days](08-filling-days) [Problem C](https://www.cs.uoregon.edu/Activities/Luks_Programming_Contest/problems/Problems2017.pdf): A per the problem, B when there are multiple rooms available\n", + "\n", + "\n", + "Problem 6 taken from [Problem B](https://www.cs.uoregon.edu/Activities/Luks_Programming_Contest/problems/Problems2017.pdf): A is check if string is a closed loop, B is finding if two partial loops make a whole one" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -232,9 +257,17 @@ "# More problems:\n", "* [Advent of Code 2015](http://adventofcode.com/2015)\n", "* [Advent of Code 2016](http://adventofcode.com/2016)\n", - "* https://books.google.co.uk/books?id=85NsAHJjTJ0C&pg=PA390&lpg=PA390&dq=phone+number+problem+programming+names&source=bl&ots=c7oC9JvpZz&sig=aNnW6t_nmGK7SyAKchK0MaxqbkA&hl=en&sa=X&ved=0ahUKEwjnzcbbgs7RAhWKKcAKHQiFCDAQ6AEIJDAC#v=onepage&q=phone%20number%20problem%20programming%20names&f=false\n", - "* https://www.cs.uoregon.edu/Activities/Luks_Programming_Contest/\n", - "* https://www.reddit.com/r/dailyprogrammer/" + "* [Programming and Problem Solving with C++: Brief Edition](https://books.google.co.uk/books?id=85NsAHJjTJ0C&pg=PA390&lpg=PA390&dq=phone+number+problem+programming+names&source=bl&ots=c7oC9JvpZz&sig=aNnW6t_nmGK7SyAKchK0MaxqbkA&hl=en&sa=X&ved=0ahUKEwjnzcbbgs7RAhWKKcAKHQiFCDAQ6AEIJDAC#v=onepage&q=phone%20number%20problem%20programming%20names&f=false)\n", + "* https://www.cs.uoregon.edu/Activities/Luks_Programming_Contest/ , specifically the overlapping presentaitons problem from [2017 problems](https://www.cs.uoregon.edu/Activities/Luks_Programming_Contest/problems/Problems2017.pdf)\n", + "* https://www.reddit.com/r/dailyprogrammer/\n", + "\n", + "* N-rooks problem from http://www.olympiad.org.uk/images/bio2012-poster-v.jpg\n", + "\n", + "* \"How tweet it is\" from [2014 APL programming language competition](http://www.dyalog.com/uploads/files/student_competition/2014_problems_phase1.pdf) (remove interior vowels from words)\n", + "\n", + "* More ghost leg: simplify a network by finding whole permuation, then splitting it down into transpositions. Look at theory of permutations for details.\n", + "\n", + "* [Strata](https://en.wikipedia.org/wiki/Strata_(video_game)) game: how many puzzles have a valid solution? How many valid solutions are there to a puzzle?\n" ] }, { @@ -249,6 +282,60 @@ "* https://www.cs.utexas.edu/users/mckinley/305j/pair-hcs-2006.pdf" ] }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "Polyglot challenge languages\n", + "\n", + "- Python\n", + "- Ruby\n", + "- Haskell\n", + "- Lisp\n", + "- Prolog\n", + "- Ada\n", + "- C\n", + "- Brainfuck\n", + "- Whitespace\n", + "- x64 assembler\n", + "- Smalltalk\n", + "- Scala\n", + "- Clojure\n", + "- Lua\n", + "- JavaScript\n", + "- Java\n", + "- Dart\n", + "- Kotlin\n", + "- Elixir / Erlang\n", + "- Oz / Mozart\n", + "- APL / J\n", + "- Rust\n", + "- Go" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Polyglot challenge: languages by day\n", + "\n", + "1. [Ticket prices](01-ticket-prices): Ruby x\n", + "2. [Lift instructions](02-lifts): Brainfuck x\n", + "3. [Door codes](03-door-codes): Dart x\n", + "4. [Ghost leg, follow and pack](04-amidakuji): Clojure\n", + "5. [Display board](05-display-board): JavaScript/Node.js\n", + "6. [Tour shapes](06-tour-shapes): Lua\n", + "7. [Virtual machine](07-interpreter): Haskell (Advent 16 day 23)\n", + "8. [Word chains](08-word-chains): Prolog\n", + "9. [Resolving the bill](09-resolving-the-bill): Sense\n", + "10. [Word search](10-word-search): Python x\n", + "\n", + "Scala, Clojure?\n", + "Sense? Day 9?" + ] + }, { "cell_type": "code", "execution_count": null,