From 38843432769c5d6e749a373e509f4f9b29bb57f6 Mon Sep 17 00:00:00 2001 From: lee Date: Tue, 10 Dec 2019 13:08:29 +0000 Subject: [PATCH] tetrisoptimizer subject for raid --- subjects/tetrisoptimizer.en.md | 93 ++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 subjects/tetrisoptimizer.en.md diff --git a/subjects/tetrisoptimizer.en.md b/subjects/tetrisoptimizer.en.md new file mode 100644 index 000000000..55c7c25a7 --- /dev/null +++ b/subjects/tetrisoptimizer.en.md @@ -0,0 +1,93 @@ +## tetrisoptimizre + +### Objectives + +Develop a program that receives only one argument, a text file which will contain a list of [Tetrominoes](https://en.wikipedia.org/wiki/Tetromino) to assemble them in order to create the smallest square possible. + +### Instructions + +- Your program will be tested using our solution, you don't need to submit your text files + +The program must : + +- Expect at least 2 Tetrominoes in the text file +- Identify each Tetromino in the solution, by assigning different letters to different Tetrominoes +- Assemble all of the Tetrominoes in order to create the smallest square possible +- Print the solution where Tetrominoes are placed on their most upper left position, if there are more than one solution it +- In case of bad format on the Tetrominoes or bad file format it should print `ERROR` + +#### Example of a text File + +```console +#... +#... +#... +#... + +.... +.... +..## +..## +``` + +- If it isn't possible to form a complete square, the program should leave spaces between the Tetrominoes. For example: + +```console +ABB. +ABB. +A... +A... +``` + +## Usage + +``` +student@ubuntu:~/tetrisoptimizre$ cat -e sample.txt +...#$ +...#$ +...#$ +...#$ +$ +....$ +....$ +....$ +####$ +$ +.###$ +...#$ +....$ +....$ +$ +....$ +..##$ +.##.$ +....$ +$ +....$ +.##.$ +.##.$ +....$ +$ +....$ +....$ +##..$ +.##.$ +$ +##..$ +.#..$ +.#..$ +....$ +$ +....$ +###.$ +.#..$ +....$ +student@ubuntu:~/tetrisoptimizre$ ./tetrisoptimizre sample.txt | cat -e +ABBBB.$ +ACCCEE$ +AFFCEE$ +A.FFGG$ +HHHDDG$ +.HDD.G$ +student@ubuntu:~/tetrisoptimizre$ +```