Pracujesz w wirtualnej, staromodnej maszynie drukarskiej. Aby pomóc Ci szybciej rozmieszczać litery o stałej szerokości, decydujesz się na jak najkrótszy program, który może ci pomóc. Biorąc pod uwagę ciąg tekstu i rozmiar strony, wygeneruj i wydrukuj każdą stronę tekstu.
Przykłady
Na przykład, przy szerokości strony 14, wysokości 7 i pewnym tekście, oto twoja książka:
14, 7, "Fruits make an extremely good snack due to their utterly scrumptious sweetness. They are also very healthy for you."
+------------+
| Fruits |
| make an |
| extremely |
| good snack |
| due to |
+------------+
+------------+
| their |
| utterly |
| scrumptio- |
| -us |
| sweetness. |
+------------+
+------------+
| They are |
| also very |
| healthy |
| for you. |
| |
+------------+
Oto podstawowe ustawienia strony:
|---i.e.14---|
+------------+ -
| Xxxxxxxxxx | |
| Xxxxxxxxxx | i.
| Xxxxxxxxxx | e.
| Xxxxxxxxxx | 7
| Xxxxxxxxxx | |
+------------+ -
Parę rzeczy
- Pomiędzy krawędziami strony a tekstem jest jeden margines.
- Szerokość i wysokość obejmują krawędzie pudełka, jeśli nie było to jasne.
- Owijanie występuje tylko wtedy, gdy słowo nie mieści się w jednej linii.
- Program musi być w stanie wydrukować tyle stron, ile potrzeba, i tylko tyle.
- Twój program musi obsługiwać dowolny rozmiar strony, nie tylko 14 na 7.
- To jest golf golfowy, więc wygrywa najmniejsze rozwiązanie w bajtach (w dowolnym języku).
- Nie rujnuj zabawy. Standardowe luki są oczywiście niedozwolone.
Aha, a przy okazji:
+------------+
| May the |
| best book |
| publisher |
| win. Good |
| Luck! |
+------------+
+------------+
| Best |
| program |
| so far: |
| Charcoal |
| |
+------------+
for example 14że toe.g.
scru-/-mpt-/-ious)