tło
Chciałem stworzyć ładną chmurę słów, taką jak ta:
these are
words
floating
I obliczane na (x,y)
-coordinates z pierwszej litery każdego słowa, podłączyć je do mojego Word chmura generatora, i niech się wykonywać swoje zadania. Jednak przypadkowo użyłem (y,x)
współrzędnych, więc wynik wygląda następująco:
these
floating
words
are
Ponieważ jestem zbyt leniwy, aby ponownie obliczyć współrzędne, potrzebuję, abyś przetransponował dla mnie chmurę słów.
Wejście
Twoje dane wejściowe to prostokątna siatka małych liter ASCII i spacji. Oznacza to, że każdy rząd jest wypełniony spacjami, aby mieć tę samą długość. Dane wejściowe można traktować jako ciąg wielu wierszy lub tablicę ciągów.
Słowo to poziomy segment pism, a jego pozycja jest (x,y)
-coordinates jej skrajnej lewej list, w lewym górnym rogu istoty siatki (0,0)
. Zawsze będzie co najmniej jedno słowo i nie będzie żadnych końcowych wierszy ani kolumn spacji. Jednak mogą występować wiodące wiersze lub kolumny spacji.
Wynik
Twój wynik to kolejna prostokątna siatka znaków, uzyskana przez przeniesienie każdego słowa z pozycji (x,y)
do pozycji (y,x)
. Twój wynik nie może zawierać dodatkowych końcowych wierszy lub kolumn spacji. Wiodące wiersze i kolumny muszą zostać zachowane, a dane wyjściowe muszą być prostokątne .
Możesz założyć, że ta transformacja nie tworzy nakładających się słów i nie łączy kilku słów w jedno. Oznacza to, że uruchomienie programu na wyjściu powinno wygenerować oryginalne wejście.
Zasady i punktacja
Możesz napisać pełny program lub funkcję. Wygrywa najniższa liczba bajtów, a standardowe luki są niedozwolone.
Przypadki testowe
Dla przejrzystości (a ponieważ Stack Exchange nie lubi wierszy zawierających tylko spacje), każdy wiersz kończy się znakiem potoku |
.
Nie są one częścią rzeczywistych danych wejściowych lub wyjściowych i należy je usunąć. Zauważ ponownie, że uruchomienie programu na każdym wyjściu powinno również generować odpowiednie dane wejściowe.
Input:
oneword|
Output:
oneword|
Input:
spaces|
Output:
|
|
spaces|
Input:
|
row|
Output:
row|
Input:
these are|
words |
|
floating |
Output:
these |
|
floating|
|
words |
|
|
|
are |
Input:
same|
the |
|
same |
Output:
same|
the |
|
same |
Input:
some |
words k|
|
|
|
still|
Output:
words |
|
some still|
|
|
|
k |
Input:
hello |
world hey|
what up |
Output:
what|
|
world|
hello |
|
|
|
up |
hey |
Input:
a b a d cc|
g h huh nng|
ye dunnn |
dud yo |
wha g |
huh heh hah|
Output:
|
g wha |
a ye huh|
h |
b dud |
dunnn |
huh heh|
a g |
|
d yo |
nng hah|
cc |