Para una imagen N por N , encuentre un conjunto de píxeles de modo que no haya distancia de separación más de una vez. Es decir, si dos píxeles están separados por una distancia d , entonces son los únicos dos píxeles que están separados exactamente por d (usando la distancia euclidiana ). Tenga en cuenta que d no necesita ser entero.
El desafío es encontrar un conjunto de este tipo más grande que nadie.
Especificación
No se requiere ninguna entrada; para este concurso, N se fijará en 619.
(Dado que la gente sigue preguntando, el número 619 no tiene nada de especial. Se eligió para ser lo suficientemente grande como para hacer improbable una solución óptima, y lo suficientemente pequeño como para permitir que se muestre una imagen N por N sin que Stack Exchange la reduzca automáticamente. Las imágenes pueden ser se muestra en tamaño completo hasta 630 por 630, y decidí ir con el primo más grande que no exceda eso).
La salida es una lista de enteros separados por espacios.
Cada número entero en la salida representa uno de los píxeles, numerados en orden de lectura en inglés desde 0. Por ejemplo, para N = 3, las ubicaciones se numerarían en este orden:
0 1 2
3 4 5
6 7 8
Puede generar información de progreso durante la ejecución si lo desea, siempre que la salida de puntuación final esté fácilmente disponible. Puede enviar a STDOUT o a un archivo o lo que sea más fácil para pegar en el Juez de fragmentos de pila a continuación.
Ejemplo
N = 3
Coordenadas elegidas:
(0,0)
(1,0)
(2,1)
Salida:
0 1 5
Victorioso
La puntuación es el número de ubicaciones en la salida. De las respuestas válidas que tienen el puntaje más alto, gana el primero en publicar la salida con ese puntaje.
Su código no necesita ser determinista. Puede publicar su mejor salida.
Áreas relacionadas para la investigación.
(Gracias a Abulafia por los enlaces de Golomb)
Si bien ninguno de estos es el mismo que este problema, ambos son similares en concepto y pueden darle ideas sobre cómo abordar esto:
- Gobernante de Golomb : el caso de 1 dimensión.
- Rectángulo de Golomb : una extensión bidimensional de la regla de Golomb. Una variante del caso NxN (cuadrado) conocida como matriz Costas se resuelve para todos los N.
Tenga en cuenta que los puntos requeridos para esta pregunta no están sujetos a los mismos requisitos que un rectángulo Golomb. Un rectángulo de Golomb se extiende desde el caso de 1 dimensión al requerir que el vector de cada punto entre sí sea único. Esto significa que puede haber dos puntos separados por una distancia de 2 horizontalmente, y también dos puntos separados por una distancia de 2 verticalmente.
Para esta pregunta, es la distancia escalar la que debe ser única, por lo que no puede haber una separación horizontal y vertical de 2. Cada solución a esta pregunta será un rectángulo de Golomb, pero no todos los rectángulos de Golomb serán una solución válida para esta pregunta.
Límites superiores
Dennis señaló amablemente en el chat que 487 es un límite superior en el puntaje, y dio una prueba:
De acuerdo con mi código CJam (
619,2m*{2f#:+}%_&,
), hay 118800 números únicos que se pueden escribir como la suma de los cuadrados de dos enteros entre 0 y 618 (ambos inclusive). n píxeles requieren n (n-1) / 2 distancias únicas entre sí. Para n = 488, eso da 118828.
Por lo tanto, hay 118.800 longitudes diferentes posibles entre todos los píxeles potenciales en la imagen, y colocar 488 píxeles negros daría como resultado 118.828 longitudes, lo que hace imposible que todos sean únicos.
Me interesaría saber si alguien tiene una prueba de un límite superior más bajo que este.
Tabla de clasificación
(La mejor respuesta por cada usuario)