Ho sentito da qualche parte che una cosa che la tecnologia non può ancora fare è piegare gli asciugamani 1 . Quindi ora tocca a te dimostrare che questa affermazione è falsa!
Data una stringa come input, composta da rettangoli (asciugamani), come il seguente, piega ogni asciugamano a metà due volte. Per esempio:
+------+ +------+ +--+
| | | | | |
| | | | | |
| | -> +------+ -> +--+
| |
| |
| |
+------+
Si noti che quando un asciugamano viene piegato, viene prima ripiegato, quindi da sinistra a destra. Il programma deve imitare anche questo comportamento. Si noti inoltre che nei casi di test, gli asciugamani rimangono nello stesso posto, ma piegati.
Regole:
- Metodi standard di input / output.
- Si applicano scappatoie standard.
- L'input e l'output dovrebbero essere come una stringa.
- I wiltvers finali vanno bene in uscita, purché gli asciugamani siano nel posto giusto l'uno rispetto all'altro.
- Puoi presumere che la lunghezza di ciascun lato dell'asciugamano sarà sempre divisibile per 2.
- Gli asciugamani passati come input saranno sempre rettangolari.
Gli asciugamani saranno sempre separati, tuttavia possono essere separati da importi variabili.
code-golf , vince il codice più corto!
Casi test:
Input:
+------+
| |
| |
| |
| |
| |
| |
+------+
Output:
+--+
| |
| |
+--+
Input:
+--+ +--+ +--+
| | | | | |
| | | | | |
+--+ +--+ +--+
Output:
++ ++ ++
++ ++ ++
Input:
+----+
| |
| |
| |
| | ++
+----+ ++
Output:
+-+
| |
+-+
+
Input:
+--+
+--+ ++
||
||
++
Output:
++
+
+
1: questo è stato smentito da Geobits e Laikoni. Tuttavia, l'ho sentito da qualche parte.