Cel
Biorąc pod uwagę siatkę liczb, wypełnij nierówności.
Założenia
Liczba kolumn i wierszy w siatce jest równa.
Maksymalny rozmiar siatki to 12 x 12.
Siatka składa się tylko z liczb całkowitych 0–9.
Wynik może zawierać końcowy znak nowej linii.
Dane wejściowe są dokładnie takie, jak napisane poniżej, w tym spacje i znaki nowej linii.
Przykładowe dane wejściowe
4 2 3 1
6 2 3 1
6 9 2 1
0 2 1 6
Przykładowy wynik
4>2<3>1
^ " " "
6>2<3>1
" ^ v "
6<9>2>1
v v v ^
0<2>1<6
Przykładowe dane wejściowe (2)
1 2 3 4 5
5 4 3 2 1
0 0 0 3 2
3 2 0 0 0
2 1 3 1 5
Przykładowe dane wyjściowe (2)
1<2<3<4<5
^ ^ " v v
5>4>3>2>1
v v v ^ ^
0=0=0<3>2
^ ^ " v v
3>2>0=0=0
v v ^ ^ ^
2>1<3>1<5
Przykładowe dane wejściowe (3)
8
Przykładowe dane wyjściowe (3)
8
Przykładowe dane wejściowe (4)
0 0 0 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 1 1 1 1 1 0
0 1 2 3 4 5 6 7 8 9 1 0
0 1 3 9 8 7 6 5 4 8 1 0
0 1 4 8 9 8 7 6 5 7 1 0
0 1 5 7 8 9 9 7 6 6 1 0
0 1 6 6 7 9 9 8 7 5 1 0
0 1 7 5 6 7 8 9 8 4 1 0
0 1 8 4 5 6 7 8 9 3 1 0
0 1 9 8 7 6 5 4 3 2 1 0
0 1 1 1 1 1 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 0 0 0
Przykładowe dane wyjściowe (4)
0=0=0=0=0=0=0=0=0=0=0=0
" ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ "
0<1=1=1=1=1=1=1=1=1=1>0
" " ^ ^ ^ ^ ^ ^ ^ ^ " "
0<1<2<3<4<5<6<7<8<9>1>0
" " ^ ^ ^ ^ " v v v " "
0<1<3<9>8>7>6>5>4<8>1>0
" " ^ v ^ ^ ^ ^ ^ v " "
0<1<4<8<9>8>7>6>5<7>1>0
" " ^ v v ^ ^ ^ ^ v " "
0<1<5<7<8<9=9>7>6=6>1>0
" " ^ v v " " ^ ^ v " "
0<1<6=6<7<9=9>8>7>5>1>0
" " ^ v v v v ^ ^ v " "
0<1<7>5<6<7<8<9>8>4>1>0
" " ^ v v v v v ^ v " "
0<1<8>4<5<6<7<8<9>3>1>0
" " ^ ^ ^ " v v v v " "
0<1<9>8>7>6>5>4>3>2>1>0
" " v v v v v v v v " "
0<1=1=1=1=1=1=1=1=1=1>0
" v v v v v v v v v v "
0=0=0=0=0=0=0=0=0=0=0=0
Odpowiedzi:
Pyth, 46 bajtów
Wypróbuj online: demonstracja
źródło
CJam, 52 bajty
Wypróbuj online w interpretatorze CJam .
Dzięki @CroCo za wskazanie błędu w wersji 3.
Dzięki @Pyrrha za wskazanie błędu w wersji 6.
Jak to działa
źródło
Python 2,
207197 bajtówTen tworzy funkcję f, która przyjmuje siatkę liczb jako ciąg znaków i zwraca odpowiedni ciąg z wypełnionymi nierównościami.
Funkcja iteruje każdy znak w ciągu. Jeśli znak jest spacją, jest zastępowany nierównością liczb po obu stronach. Jeśli znak i następny znak są znakami nowej linii, cała linia zostanie zastąpiona nierównościami dla wszystkich liczb powyżej i poniżej.
Oto wynik funkcji dla każdego z przykładów w pytaniu, z wyjątkiem naprawdę długiego:
źródło
DO,
552408 bajtówJest to bałagan, ale działa z przypadkami testowymi (dla solo
8
, po wprowadzeniu musi następować nowy wiersz, aby działał poprawnie)Oto rozszerzona wersja; Chciałbym tutaj znaleźć sposoby, w jakie mogę bardziej efektywnie grać w golfa. Wiem, że jest tu wiele do poprawienia.
źródło
s=t>b?'v':t<b?'^':'"';
pamiętaj, że sprawdzanie, czy dwie wartości są równe po sprawdzeniu, czy jedna lub druga jest większa, nie jest konieczne. Istnieją tylko 3 możliwości.JavaScript (ES6) 162
źródło
Haskell, 201 bajtów
g
oczekuje ciągu.źródło