Tags: triominos misc 

Rating:

# CSAW CTF 2018: Take an L
![date](https://img.shields.io/badge/date-16.09.2018-brightgreen.svg)
![solved in time of CTF](https://img.shields.io/badge/solved-in%20time%20of%20CTF-brightgreen.svg)
![misc category](https://img.shields.io/badge/category-misc-lightgrey.svg)
![score](https://img.shields.io/badge/score-200-blue.svg)
![solves](https://img.shields.io/badge/solves-192-brightgreen.svg)

## Description
Fill the grid with L's but avoid the marked spot for the W. The origin is at (0,0) on the top left.
`nc misc.chal.csaw.io 9000`

## Attached files
- [description.pdf](/description.pdf)

## Summary
Solve a given **triominos problem**

## Flag
```
flag{m@n_that_was_sup3r_hard_i_sh0uld_have_just_taken_the_L}
```

## Detailed solution
After making a little research, we find out that this is a *Divide et Impera algorithm*, more specific a *triominos problem*.
We find a Python [script](https://github.com/huckCussler/triomino_solver/blob/master/tri.py) on *Github* that solve this for a random point on the board. We modify it to accept the point that is given by the server and to return the *triominos* checked points. After solving it and construct the solution, we send it to server using **pwntools** and we receive the flag.

Original writeup (https://github.com/iosifache/CTF-writeups/blob/master/misc/take%20an%20l/writeup.md).