8ª Copa da Ponte Azul (Competição Nacional)

1, dezenas quadradas

Os 10 dígitos de 0 a 9 não são repetidos ou omitidos e podem ser compostos por muitos 10 dígitos. Muitos desses também são números quadrados (o quadrado de um determinado número). Por exemplo: 1026753849 é o menor número quadrado entre eles. Por favor, descubra o maior número quadrado entre eles? Nota: Você precisa enviar um número de 10 dígitos, não preencha nenhum conteúdo extra.

Resultado: 19028547136
0-9 são organizados na íntegra, compostos por dez dígitos, se a função sqrt em Math é um número inteiro, julgue

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 O Life Game é um autômato celular inventado pelo matemático britânico John Horton Conway em 1970.
Este jogo é jogado em uma grade 2D infinita.
No início, cada pequeno quadrado habitava uma célula viva ou morta.
O estado de cada célula no momento seguinte é determinado pelos estados das oito células ao seu redor.
Especificamente:

  1. Quando a célula atual está em um estado viável, quando há menos de 2 (excluindo 2) células viáveis ​​ao redor, a célula fica morta. (O número de vidas simuladas é escasso)
  2. Quando a célula atual está em um estado viável, quando há 2 ou 3 células viáveis ​​ao redor, a célula permanece como está.
  3. Quando a célula atual está em um estado vivo, quando há mais de três células vivas ao redor, a célula se torna um estado morto. (Muitas vidas simuladas)
  4. Quando a célula atual está em um estado morto, quando existem 3 células vivas ao redor, a célula se torna um estado vivo. (Reprodução de simulação) Depois que
    todas as células da geração atual forem processadas pelas regras acima ao mesmo tempo, o mapa de célula da próxima geração poderá ser obtido. Continue processando o mapa de células desta geração de acordo com as regras, e você poderá obter o mapa de células da próxima geração e iniciar novamente e novamente.
    Por exemplo, suponha inicialmente: (. X representa a célula viva, em nome de células mortas)
    ...
    ...
    . O .XXX
    ...

A próxima geração se tornará:

...
... o X -...
... a X -...
... a X -...
...
alguns padrões interessantes ocorrem no Jogo da Vida de Conway. Por exemplo, um padrão estável:

.XX.
.XX.

E um padrão de loop:
………
.XX… .XX… .XX…
.XX… .X… .XX
…… XX .- >… X .->… XX.
… XX.… XX.… XX.
………

Neste problema que temos de discutir é um modelo muito especial, conhecido como o "Gosper Glider Gun":
...
... o X -...
... XX ...
. ... ... XX XX XX ...
. ... o X-XX ... XX ... ... o X-
.XX ... o X -... X ... XX ...
.XX ... X ... X.XX ... XX ...
... X ... X ... X ...
... X ... X ...
... XX ...
...

Supondo que o estado inicial acima seja a geração 0, quantas células vivas existem na geração 1000000000 (bilhões)?

Nota: Assumimos que a máquina celular é deduzida em uma grade 2D infinita, não apenas no espaço desenhado no título.
Obviamente, para locais distantes, o estado inicial é todas as células mortas.
Nota: O que precisa ser enviado é um número inteiro, não preencha o conteúdo extra.
(É difícil olhar para ele e desistiu)

Publicado 44 artigos originais · Curtidas2 · Visitas 540

Acho que você gosta

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