Pozwala zdefiniować niepustą, nieposortowaną i skończoną macierz z unikatowymi liczbami w następujący sposób:
Pozwala zdefiniować 4 ruchy macierzy jako:
- ↑ * (w górę): Przesuwa kolumnę w górę
- ↓ * (w dół): Przesuwa kolumnę w dół
- → * (w prawo): Przesuwa rząd w prawo
- ← * (po lewej): Przesuwa rząd w lewo
Gwiazdka (*) reprezentuje kolumnę / wiersz, na które ma wpływ ruch (może być indeksowany 0 lub indeksowany 1. Do Ciebie. Podaj, który z nich w odpowiedzi).
Wyzwaniem jest, używając powyższych ruchów, posortować macierz w porządku rosnącym (będąc lewym górnym rogiem najniższym i prawym dolnym rogiem najwyższym).
Przykład
↑0
↓0
→0
↑0↑1←1↑2
↑0↑2→0→2↑0→2↑1↑2←1
↑2↑1←3→0←3↓0←0←2→3↑3↑4
Notatki
- Mogą istnieć różne prawidłowe dane wyjściowe (niekoniecznie muszą być takie same jak przypadki testowe lub najkrótsze)
- Możesz założyć, że zawsze będzie to sposób na uporządkowanie matrycy
- Krawędzie łączą się (jak pacman: v)
- Nie będzie matrycy z więcej niż 9 kolumnami i / lub rzędami
- Załóżmy, że macierz zawiera tylko dodatnie niezerowe liczby całkowite
- Możesz użyć dowolnych 4 odrębnych wartości innych niż liczby do przedstawienia ruchów (w takim przypadku proszę podać to w odpowiedzi)
- Kolumna / wiersz może być indeksowany 0 lub 1
- Kryteria wygrywania w golfa kodowego
Dodatkowe przypadki testowe są zawsze mile widziane
←0←0
poprawnym rozwiązaniem dla drugiego przykładu, w którym podano rozwiązanie jako →0
. Jeśli tak, myślę, że połowa opcji ruchu prawdopodobnie nie zostanie użyta.