This repository contains code that solves the Synacor Challenge. It contains the following programs:
vm.py
- virtual machine in Python implementing the instruction set specified in the challenge. Also disassembles the input program for use in
reverse engineering the teleporter verification.
modified_ackermann.py
- prototype to solve the teleporter verification problem using Python's built-in caching.
ackermann.jl
- dynamic programming prototype to solve the teleporter verification problem in Julia.
modified_ackermann.cpp
- final program to solve the teleporter verification code using dynamic programming and 16-bit integers to avoid stack overflow.
bfs.py
- graph search to find the shortest path to unlock the vault for the final code in the challenge.