Fillit is a project that let you discover and/or familiarize yourself with a recurring problematic in programming: searching the optimal solution among a huge set of possibilities, in a respectable timing. This particular project, will find for you a way to assemble a given Tetriminos set altogether in the smallest possible square.
make
./fillit data
You can find file "data" as an example in the repository. (additional new line after last tetrimino is mandatory)