tło
W najbardziej rozsądnych językach programowania bardzo łatwo jest obracać wiersze lub kolumny tablicy 2D. W tym wyzwaniu Twoim zadaniem jest obrócenie przeciw przekątnych . Przypomnij sobie, że przeciw przekątnymi macierzy 2D są jej wycinki 1D wykonane w kierunku północno-wschodnim ↗.
Wkład
Niepusta prostokątna tablica 2D liczb jednocyfrowych w dowolnym rozsądnym formacie. Pamiętaj, że tablica nie może być kwadratem.
Wydajność
Taki sam układ, ale z każdym anty-przekątnym obróconym o jeden krok w prawo.
Przykład
Rozważ 3x4
tablicę wejściową
0 1 2 3
4 5 6 7
8 9 0 1
Anty-przekątne tego układu są
0
4 1
8 5 2
9 6 3
0 7
1
Ich obrócone wersje to
0
1 4
2 8 5
3 9 6
7 0
1
Zatem prawidłowe wyjście to
0 4 5 6
1 8 9 0
2 3 7 1
Zasady i punktacja
Możesz napisać pełny program lub funkcję. Dopuszczalne jest również napisanie funkcji, która modyfikuje tablicę wejściową, jeśli Twój język na to pozwala. Wygrywa najniższa liczba bajtów, a standardowe luki są niedozwolone.
Tabela liderów
Oto fragment kodu, który pozwala wygenerować zarówno zwykłą tabelę wyników, jak i przegląd zwycięzców według języka.
Aby upewnić się, że twoja odpowiedź się pojawi, zacznij od nagłówka, korzystając z następującego szablonu Markdown:
## Language Name, N bytes
gdzie N
jest rozmiar twojego zgłoszenia. Jeśli chcesz umieścić w nagłówku wiele liczb (np. Ponieważ twój wynik jest sumą dwóch plików lub chcesz osobno wymienić kary za flagi tłumacza lub chcesz pokazać stare wyniki, które poprawiłeś), upewnij się, że rzeczywisty wynik jest ostatnią liczbą w nagłówku.
Dodatkowe przypadki testowe
Input:
4
Output:
4
Input:
5 6 1
Output:
5 6 1
Input:
0 1
6 2
Output:
0 6
1 2
Input:
6 3 0 8
4 6 1 4
6 2 3 3
9 3 0 3
Output:
6 4 6 1
3 6 2 3
0 9 3 0
8 4 3 3
Input:
5 8 2
6 7 3
2 6 1
6 0 6
6 4 1
Output:
5 6 7
8 2 6
2 6 0
3 6 4
1 6 1
Input:
9 9 4 0 6 2
2 3 2 6 4 7
1 5 9 3 1 5
0 2 6 0 4 7
Output:
9 2 3 2 6 4
9 1 5 9 3 1
4 0 2 6 0 4
0 6 2 7 5 7