Weź obszar 2D podzielony na kwadratowe elementy wyrównane do osi z ich środkami wyrównanymi w odstępach całkowitych. Mówi się, że krawędź jest wewnętrzna, jeśli jest współdzielona przez dwa elementy, w przeciwnym razie jest to krawędź zewnętrzna.
Twoim celem jest znalezienie minimalnej liczby sąsiednich elementów, które należy pokonać, aby osiągnąć zewnętrzną krawędź, zaczynając od środka każdego elementu, znanego jako traversal distance
, lub distance
w skrócie. Możesz przechodzić tylko przez krawędź (tzn. Bez cięcia narożników / ruchu po przekątnej). Uwaga: uważa się, że „elementy zewnętrzne” (elementy, które mają co najmniej jedną krawędź zewnętrzną) muszą przejść przez 0
sąsiednie elementy, aby osiągnąć krawędź zewnętrzną.
Wejście
Dane wejściowe to lista nieujemnych współrzędnych pary całkowitych oznaczających (x, y) środka wszystkich elementów. Zakłada się, że nie ma nakładających się elementów (tj. Para x / y jednoznacznie identyfikuje element). Być może nie nic o kolejności wprowadzania elementem zakładać.
Zachęcamy do przekształcenia źródła danych wejściowych w dowolne miejsce (np. 0,0 lub 1,1 itd.).
Możesz założyć, że wszystkie elementy wejściowe są połączone, lub innymi słowy, możliwe jest przejście z jednego elementu do dowolnego innego elementu przy użyciu powyższych reguł. Zauważ, że nie oznacza to, że region 2D jest po prostu połączony; może mieć w środku dziury.
Przykład: poniżej podano nieprawidłowe dane wejściowe.
0,0
2,0
sprawdzanie błędów nie jest wymagane.
Dane wejściowe mogą pochodzić z dowolnego źródła (plik, stdio, parametr funkcji itp.)
Wynik
Dane wyjściowe powinny być listą współrzędnych identyfikujących każdy element i odpowiednią liczbą całkowitą pokonaną, aby dostać się do krawędzi. Dane wyjściowe mogą być w dowolnej pożądanej kolejności elementów (np. Nie trzeba wyjściowych elementów w tej samej kolejności otrzymanej jako dane wejściowe).
Dane wyjściowe mogą pochodzić z dowolnego źródła (plik, stdio, wartość zwracana przez funkcję itp.)
Każde wyjście, które pasuje do współrzędnej elementu z jego odległością zewnętrzną, jest w porządku, np. Wszystkie są w porządku:
x,y: distance
...
[((x,y), distance), ...]
[(x,y,distance), ...]
Przykłady
Przykładowe dane tekstowe są w formie x,y
, z jednym elementem w wierszu; możesz przekształcić to w wygodny format wejściowy (zobacz zasady dotyczące formatu wejściowego).
Przykładowe wyniki tekstowe są w formacie x,y: distance
, z jednym elementem w wierszu; ponownie, możesz przekształcić to w wygodny format wyjściowy (zobacz reguły formatu wyjściowego).
Liczby graficzne mają lewą dolną granicę jako (0,0), a liczby w środku reprezentują oczekiwaną minimalną odległość przebytą do osiągnięcia krawędzi zewnętrznej. Pamiętaj, że liczby te służą wyłącznie do celów demonstracyjnych; twój program nie musi ich wysyłać.
Przykład 1
Wejście:
1,0
3,0
0,1
1,2
1,1
2,1
4,3
3,1
2,2
2,3
3,2
3,3
Wynik:
1,0: 0
3,0: 0
0,1: 0
1,2: 0
1,1: 1
2,1: 0
4,3: 0
3,1: 0
2,2: 1
2,3: 0
3,2: 0
3,3: 0
Reprezentacja graficzna:
Przykład 2
Wejście:
4,0
1,1
3,1
4,1
5,1
6,1
0,2
1,2
2,2
3,2
4,2
5,2
6,2
7,2
1,3
2,3
3,3
4,3
5,3
6,3
7,3
8,3
2,4
3,4
4,4
5,4
6,4
3,5
4,5
5,5
wynik:
4,0: 0
1,1: 0
3,1: 0
4,1: 1
5,1: 0
6,1: 0
0,2: 0
1,2: 1
2,2: 0
3,2: 1
4,2: 2
5,2: 1
6,2: 1
7,2: 0
1,3: 0
2,3: 1
3,3: 2
4,3: 2
5,3: 2
6,3: 1
7,3: 0
8,3: 0
2,4: 0
3,4: 1
4,4: 1
5,4: 1
6,4: 0
3,5: 0
4,5: 0
5,5: 0
Reprezentacja graficzna:
Przykład 3
Wejście:
4,0
4,1
1,2
3,2
4,2
5,2
6,2
8,2
0,3
1,3
2,3
3,3
4,3
5,3
6,3
7,3
8,3
9,3
1,4
2,4
3,4
4,4
5,4
6,4
7,4
8,4
9,4
2,5
3,5
4,5
5,5
6,5
9,5
10,5
11,5
3,6
4,6
5,6
9,6
10,6
11,6
6,7
7,7
8,7
9,7
10,7
11,7
wynik:
4,0: 0
4,1: 0
1,2: 0
3,2: 0
4,2: 1
5,2: 0
6,2: 0
8,2: 0
0,3: 0
1,3: 1
2,3: 0
3,3: 1
4,3: 2
5,3: 1
6,3: 1
7,3: 0
8,3: 1
9,3: 0
1,4: 0
2,4: 1
3,4: 2
4,4: 2
5,4: 2
6,4: 1
7,4: 0
8,4: 0
9,4: 0
2,5: 0
3,5: 1
4,5: 1
5,5: 1
6,5: 0
9,5: 0
10,5: 0
11,5: 0
3,6: 0
4,6: 0
5,6: 0
9,6: 0
10,6: 1
11,6: 0
6,7: 0
7,7: 0
8,7: 0
9,7: 0
10,7: 0
11,7: 0
Reprezentacja graficzna:
Punktacja
To jest kod golfowy. Najkrótszy kod w bajtach wygrywa. Obowiązują standardowe luki. Dozwolone są wszelkie wbudowane elementy inne niż specjalnie zaprojektowane w celu rozwiązania tego problemu.