In de vorige opgave hebben we een polymeer voorgesteld als een lijst die de posities van de opeenvolgende monomeren van het polymeer bevat. Elke positie wordt hierbij voorgesteld als een tuple $$(x,y)$$, waarbij $$x,y \in \mathbb{Z}$$. Het eerste monomeer ligt telkens in de oorsprong $$(0,0)$$ van het cartesisch vlak, en de volgende positie ligt telkens één eenheidsstap boven, onder, links of rechts van de vorige positie. Twee monomeren van eenzelfde polymeer kunnen nooit dezelfde positie bezetten.

Opgave

Schrijf een functie toonPolymeer die voor een gegeven lijst van posities van de monomeren van een polymeer (die als argument aan de functie moet doorgegeven worden) de structuur van het polymeer uitschrijft. Hiervoor ga je als volgt te werk:

Voorbeeld

>>> polymeer1 = [(0, 0), (1, 0), (2, 0), (2, 1), (2, 2), (1, 2), (0, 2), 
...              (0, 1), (1, 1)]
>>> toonPolymeer(polymeer1)
o-o-o
|   |
o-* o
    |
x-o-o
>>> polymeer2 = [(0, 0), (1, 0), (2, 0), (2, -1), (3, -1), (4, -1), (4, 0), 
...              (4, 1), (3, 1), (3, 0)]
>>> toonPolymeer(polymeer2)
      o-o
      | |
x-o-o * o
    |   |
    o-o-o
>>> polymeer3 = [(0, 0), (0, -1), (1, -1), (1, -2), (1, -3), (1, -4), (0, -4), 
...              (0, -3), (-1, -3), (-2, -3), (-2, -2), (-2, -1), (-1, -1), 
...              (-1, -2), (0, -2)]
>>> toonPolymeer(polymeer3)
    x  
    |  
o-o o-o
| |   |
o o-* o
|     |
o-o-o o
    | |
    o-o