La octava Copa del Puente Azul (Competencia Nacional)

1, decenas cuadradas

Los 10 dígitos del 0 al 9 no se repiten ni se omiten, y pueden estar compuestos por muchos 10 dígitos. Muchos de estos también son números cuadrados (el cuadrado de cierto número). Por ejemplo: 1026753849 es el número cuadrado más pequeño entre ellos. ¿Encuentra el número cuadrado más grande entre ellos? Nota: debe enviar un número de 10 dígitos, no complete ningún contenido adicional.

Resultado: 19028547136
0-9 están organizados en su totalidad, compuestos por diez dígitos, si la función sqrt en Math es un número entero, juzgue

static int arr[]= {9,8,7,6,5,4,3,2,1,0};
	static int visited[]= {0,0,0,0,0,0,0,0,0,0};
	public static void main(String[] args) {
		dfs(0);
	}
	public static void dfs(int offset) {
		if(offset==10) {
			long a=01;
			for(int i=0;i<10;i++)
			{
				a=a*10+arr[i];
			}
			long sq=(long)Math.sqrt(a);
			if(sq*sq==a)
			{
				System.out.println(a);
				return;
			}
		}
		for(int i=0;i<10;i++)
		{
			if(visited[i]==0)
			{
				visited[i]=1;
				arr[offset]=i;
				dfs(offset+1);
				visited[i]=0;
			}
		}
	}
	

2. Life Game
Conway Life Game es un autómata celular inventado por el matemático británico John Horton Conway en 1970.
Este juego se juega en una cuadrícula 2D infinita.
Al principio, cada pequeño cuadrado habitaba una celda viva o muerta.
El estado de cada celda en el siguiente momento está determinado por los estados de las ocho celdas a su alrededor.
Específicamente:

  1. Cuando la célula actual está en un estado viable, cuando hay menos de 2 (excluyendo 2) células viables alrededor, la célula se vuelve muerta. (El número de vidas simuladas es escaso)
  2. Cuando la célula actual está en un estado viable, cuando hay 2 o 3 células viables alrededor, la célula permanece como está.
  3. Cuando la célula actual está en estado vivo, cuando hay más de tres células vivas alrededor, la célula se convierte en un estado muerto. (Demasiadas vidas simuladas)
  4. Cuando la célula actual está en estado muerto, cuando hay 3 células vivas alrededor, la célula se convierte en un estado vivo. (Reproducción de simulación) Después de que
    todas las celdas de la generación actual sean procesadas por las reglas anteriores al mismo tiempo, se puede obtener el mapa de celdas de la próxima generación. Continúe procesando el mapa de celdas de esta generación de acuerdo con las reglas, y puede obtener el mapa de celdas de la próxima generación, y comenzar una y otra vez.
    Por ejemplo, supongamos que inicialmente: (. X representa la célula viva, en nombre de las células muertas)
    ...
    ...
    . El .XXX
    ...

La próxima generación se convertirá en:

...
... la X -...
... la X -...
... la X -...
...
algunos patrones interesantes se producen en Juego de la vida. Por ejemplo, un patrón estable:

.XX.
.XX.

Y un patrón de bucle:
………
.XX… .XX… .XX…
.XX… .X… .XX
…… XX .- >… X .->… XX.
… XX.… XX.… XX.
………

En este problema tenemos que discutir es un modelo muy especial, conocido como el "Gosper Glider Gun":
...
... la X -...
... XX ...
. ... ... XX XX XX ...
. ... el X-XX ... XX ... ... los ejes X
.XX ... X -... X ... XX ...
.XX ... X ... X.XX ... XX ...
... X ... X ... X ...
... X ... X ...
... XX ...
...

Suponiendo que el estado inicial anterior es la generación 0, ¿cuántas células vivas hay en la generación 1000000000 (mil millones)?

Nota: Suponemos que la máquina celular se deduce en una cuadrícula 2D infinita, no solo el espacio dibujado en el título.
Por supuesto, para ubicaciones distantes, el estado inicial es todas las células muertas.
Nota: Lo que debe enviarse es un número entero, no complete el contenido adicional.
(Es difícil mirarlo y darse por vencido)

44 artículos originales publicados · Me gusta2 · Visitas 540

Supongo que te gusta

Origin blog.csdn.net/qq_43699776/article/details/105292529
Recomendado
Clasificación