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 possi-bilities, in a respectable timing. In this particular project, you will have to find a way toassemble a givenTetriminosset altogether in the smallest possible square. A Tetriminosis a 4-blocks geometric figure you probably already heard of, thanks tothe popular game Tetris.
Fillit is not about recoding Tetris, even if itβs still a variant of this game. Your pro-gram will take a file as parameter, which contains a list of Tetriminos, and arrange themin order to create the smallest square possible. Obviously, your main goal is to find the smallest square in the minimal amount of time,despite an exponentially growing number of possibilities each time a piece is added.