W przypadku obrazu N na N znajdź zestaw pikseli, tak aby odległość separacji nie występowała więcej niż jeden raz. Oznacza to, że jeśli dwa piksele są oddzielone odległością d , to są to jedyne dwa piksele, które są oddzielone dokładnie przez d (używając odległości euklidesowej ). Zauważ, że d nie musi być liczbą całkowitą.
Wyzwanie polega na znalezieniu większego takiego zestawu niż ktokolwiek inny.
Specyfikacja
Nie jest wymagany żaden wkład - w tym konkursie N zostanie ustalony na 619.
(Ponieważ ludzie ciągle pytają - nie ma nic specjalnego w liczbie 619. Została wybrana tak duża, aby optymalne rozwiązanie była mało prawdopodobna, i wystarczająco mała, aby umożliwić wyświetlanie obrazu N na N bez automatycznego zmniejszania go przez Stack Exchange. Obrazy mogą być wyświetlał pełny rozmiar do 630 na 630 i zdecydowałem się na największą liczbę pierwszą, która tego nie przekracza.)
Dane wyjściowe to oddzielona spacjami lista liczb całkowitych.
Każda liczba całkowita na wyjściu reprezentuje jeden z pikseli, ponumerowany w angielskiej kolejności czytania od 0. Na przykład dla N = 3, lokalizacje byłyby ponumerowane w następującej kolejności:
0 1 2
3 4 5
6 7 8
Jeśli chcesz, możesz wyświetlać informacje o postępie podczas biegu, o ile końcowa ocena punktowa jest łatwo dostępna. Możesz wyprowadzać dane do STDOUT lub do pliku, lub cokolwiek najłatwiejszego do wklejenia do Snippet Judge poniżej.
Przykład
N = 3
Wybrane współrzędne:
(0,0)
(1,0)
(2,1)
Wydajność:
0 1 5
Zwycięski
Wynik to liczba lokalizacji na wyjściu. Z prawidłowych odpowiedzi, które mają najwyższy wynik, wygrywa najwcześniej opublikować wynik z tym wynikiem.
Twój kod nie musi być deterministyczny. Możesz opublikować swoje najlepsze wyniki.
Powiązane obszary badań
(Podziękowania dla Abulafii za linki do Golombów)
Chociaż żaden z nich nie jest taki sam jak ten problem, oba mają podobną koncepcję i mogą dać ci pomysły, jak podejść do tego:
- Linijka Golomb : obudowa 1-wymiarowa.
- Prostokąt Golomb : 2-wymiarowe przedłużenie linijki Golomb. Wariant przypadku NxN (kwadrat) znany jako tablica Costas został rozwiązany dla wszystkich N.
Pamiętaj, że punkty wymagane w tym pytaniu nie podlegają tym samym wymogom co prostokąt Golomb. Prostokąt Golomb rozciąga się od przypadku 1-wymiarowego, wymagając, aby wektor z każdego punktu do siebie był niepowtarzalny. Oznacza to, że mogą być dwa punkty oddzielone w odległości 2 poziomo, a także dwa punkty oddzielone w odległości 2 pionowo.
W przypadku tego pytania to odległość skalarna musi być unikalna, więc nie może być zarówno poziomej, jak i pionowej separacji 2. Każde rozwiązanie tego pytania będzie prostokątem Golomb, ale nie każdy prostokąt Golomb będzie prawidłowym rozwiązaniem to pytanie.
Górne granice
Dennis pomocnie zauważył na czacie, że 487 to górna granica wyniku i dał dowód:
Zgodnie z moim kodem CJam (
619,2m*{2f#:+}%_&,
) istnieje 118800 unikalnych liczb, które można zapisać jako sumę kwadratów dwóch liczb całkowitych od 0 do 618 (obie włącznie). n pikseli wymaga między sobą n (n-1) / 2 unikalnych odległości. Dla n = 488 daje to 118828.
Istnieje więc 118 800 możliwych różnych długości między wszystkimi potencjalnymi pikselami na obrazie, a umieszczenie 488 czarnych pikseli spowodowałoby 118828 długości, co uniemożliwiłoby wszystkim ich unikalność.
Byłbym bardzo zainteresowany, aby dowiedzieć się, czy ktoś ma dowód na dolną górną granicę.
Tabela liderów
(Najlepsza odpowiedź każdego użytkownika)