This is our solution for ICFP Contest 2016.
We are holding 50th place.
To build the solution, install stack run the following script:
$ cd src
$ stack build
There're multiple executable programs explained in the following sections.
There're also some simple scripts apitool.py
, gensvg.ps1
, gensvg.sh
for
various batch tasks.
It is the simplest solver.
$ stack exec testSolver -- -o zomg.svg # and type the following:
4
0,0
1,0
1,1
0,1
It helps to visualize tasks in SVG format.
Help message doesn't say so, but visualize
requires a filename as a parameter,
like this:
$ visualize -o test.svg -w 400 ../problems/problem_1.txt
This program generates new submissions.
$ stack exec generator
Solves one task.
$ stack exec testSolver -- ../problems/problem_10.txt -o ../10.svg -h 500 -w 500 > ../10.txt
Solves trivial tasks (the ones where the initial square was only moved and/or rotated without actual folding).
$ solveAllTrivial done.txt problems/ solutions/
Solves simple tasks (only convex polygons).
$ solveAllTrivial done.txt problems/ solutions/
An unfinished prototype where we wanted to find crease patterns by unfolding the skeleton back into a square.
$ stack exec -- unfoldingSolver ../problems/problem_10.txt
A tool we wrote in an attempt to solve problem No.101 manually. It generates a bunch of SVG files where each vertex in skeleton is described separately.
The idea is to mark these points on a paper crane, then unfold it and write a solution entry by hand.
$ stack exec -- deconstruct ../problems/problem_101.txt
Team members in randomized order: