Escuché en alguna parte que una cosa que la tecnología aún no puede hacer es doblar las toallas 1 . ¡Así que ahora es tu trabajo demostrar que esa afirmación es falsa!
Dado un hilo como entrada, compuesto de rectángulos (toallas), como el siguiente, dobla cada toalla por la mitad dos veces. Por ejemplo:
+------+ +------+ +--+
| | | | | |
| | | | | |
| | -> +------+ -> +--+
| |
| |
| |
+------+
Tenga en cuenta que cuando se dobla una toalla, primero se pliega, luego de izquierda a derecha. Su programa también debe imitar este comportamiento. Observe también que en los casos de prueba, las toallas permanecen en el mismo lugar, pero dobladas.
Reglas:
- Métodos estándar de entrada / salida.
- Se aplican lagunas estándar.
- La entrada y la salida deben ser como una cadena.
- Los resultados finales están bien en la salida, siempre y cuando las toallas estén en el lugar correcto entre sí.
- Puede suponer que la longitud de cada lado de la toalla siempre será divisible por 2.
- Las toallas pasadas como entrada siempre serán rectangulares.
Las toallas siempre estarán separadas, sin embargo, pueden estar separadas por cantidades variables.
code-golf , ¡el código más corto gana!
Casos de prueba:
Input:
+------+
| |
| |
| |
| |
| |
| |
+------+
Output:
+--+
| |
| |
+--+
Input:
+--+ +--+ +--+
| | | | | |
| | | | | |
+--+ +--+ +--+
Output:
++ ++ ++
++ ++ ++
Input:
+----+
| |
| |
| |
| | ++
+----+ ++
Output:
+-+
| |
+-+
+
Input:
+--+
+--+ ++
||
||
++
Output:
++
+
+
1: Esto ha sido refutado por Geobits y Laikoni. Sin embargo, lo escuché en alguna parte.