J'ai entendu quelque part qu'une chose que la technologie ne peut pas encore faire est de plier les serviettes 1 . C'est maintenant à vous de prouver que cette affirmation est fausse!
Étant donné une chaîne en entrée, composée de rectangles (serviettes), comme ci-dessous, pliez chaque serviette en deux deux fois. Par exemple:
+------+ +------+ +--+
| | | | | |
| | | | | |
| | -> +------+ -> +--+
| |
| |
| |
+------+
Notez que lorsqu'une serviette est pliée, elle est d'abord pliée, puis de gauche à droite. Votre programme doit également imiter ce comportement. Notez également que dans les cas de test, les serviettes restent au même endroit, mais pliées.
Règles:
- Méthodes standard d'entrée / sortie.
- Des échappatoires standard s'appliquent.
- L'entrée et la sortie doivent être sous forme de chaîne.
- Les feuilles de queue sont correctes en sortie, tant que les serviettes sont au bon endroit les unes par rapport aux autres.
- Vous pouvez supposer que la longueur de chaque côté de la serviette sera toujours divisible par 2.
- Les serviettes passées en entrée seront toujours rectangulaires.
Les serviettes seront toujours séparées - cependant, elles peuvent être séparées par des quantités variables.
code-golf , donc le code le plus court gagne!
Cas de test:
Input:
+------+
| |
| |
| |
| |
| |
| |
+------+
Output:
+--+
| |
| |
+--+
Input:
+--+ +--+ +--+
| | | | | |
| | | | | |
+--+ +--+ +--+
Output:
++ ++ ++
++ ++ ++
Input:
+----+
| |
| |
| |
| | ++
+----+ ++
Output:
+-+
| |
+-+
+
Input:
+--+
+--+ ++
||
||
++
Output:
++
+
+
1: Cela a été réfuté par Geobits et Laikoni. Cependant, je l'ai entendu quelque part.