Dane wejściowe składają się z i wierszy z informacjami o sąsiadach. Każdy i- ty wiersz zawiera 4 wartości reprezentujące sąsiada i odpowiednio w kierunku północnym , wschodnim , południowym i zachodnim . Tak więc każda wartość reprezentuje sąsiada w danym kierunku i- tego rzędu, zaczynając od rzędu 1, i może wzrosnąć do 65 535 wierszy. Wartość 0 wskazuje brak sąsiada w tym kierunku.
Na przykład, jeśli pierwszym rzędem jest „0 2 3 10”, oznacza to, że sąsiad i ma trzech innych sąsiadów: nikt na północy, sąsiad 2 na wschodzie, sąsiad 3 na południu i sąsiad 10 na zachodzie.
Musisz wyprowadzić tablicę sąsiadów, zaczynając od wartości najbardziej na północny zachód. Każdy sąsiad będzie wyświetlany tylko raz, w jego pozycji względem innych. Zobaczmy kilka przykładów:
Wejście:
0 0 0 0
Brak sąsiadów (pusta skrzynka), wyjście:
1
Wejście:
0 2 0 0
0 0 0 1
1 ma sąsiada 2 na wschodzie. 2 ma sąsiad 1 na zachodzie
Wynik:
1 2
Wejście:
0 2 0 0
0 0 3 1
2 0 0 0
1 ma sąsiada 2 na wschodzie. 2 ma sąsiad 1 na zachodzie i 3 na południu. 3 ma sąsiada 2 na północy
Wynik:
1 2
3
Wejście:
2 0 0 0
0 0 1 0
Wynik:
2
1
Wejście:
0 2 3 0
0 0 4 1
1 4 0 0
2 0 0 3
Wynik:
1 2
3 4
Zasady:
Przypadki testowe są oddzielone jedną pustą linią . Dane wyjściowe różnych przypadków testowych należy również oddzielić jednym pustym wierszem.- Wykres wyjściowy jest zawsze podłączony. Nie będziesz mieć tylko 1 sąsiada do 2, razem z 3 sąsiadami tylko do 4 (izolowanych od 1-2 komponentu).
- Wszystkie wpisy są prawidłowe. Przykład nieprawidłowych wpisów:
- Wpisy zawierające litery lub dowolny symbol inny niż spacja, podział wiersza i cyfry (0–9).
- i ty rząd zawierający ı th wartość (ponieważ nie może być swoim własnym sąsiadów).
- wartość ujemna lub wartość wyższa niż 65 535.
- Mniej niż cztery wartości z rzędu.
- Więcej niż cztery wartości z rzędu.
- Ten sam sąsiad wskazuje dwa różne kierunki (np .: 0 1 1 0).
Obowiązują standardowe luki, a najkrótsza odpowiedź w bajtach wygrywa.
źródło
1,2,...
. Myślałem, że mieli sąsiada 2 „jednostki” na wschodzie i 1 „jednostkę” na południu i tak dalej. Nie mogłem tego zrozumieć.Odpowiedzi:
Python 2 , 152 bajty
Wypróbuj online!
Kolejność wprowadzania jest
NESW
f
funkcją rekurencyjną, która wypełnia domyźródło
JavaScript (Node.js) , 135 bajtów
Wypróbuj online!
_______________________________________________________________
Drugie podejście
JavaScript (Node.js) , 130 bajtów
Wypróbuj online!
źródło