Del azul del puente - juego de simulación de la escuela (problema de hierba)

2020 El puente azul Copa - juego de simulación de la escuela

tema:

Xiaoming pedazo de tierra, que va a dividir este espacio en pequeñas n filas y m columnas, cada fila y cada longitud de columna es 1.
Xiao Ming eligió algunos de ellos pequeño claro, hierba sembrada y otras piezas pequeñas siguen siendo espacio abierto.
La hierba crece muy rápido, todos los meses, algunos de la hierba crecerá a cabo, si un pequeño trozo de césped plantado, será de poseer arriba, abajo, izquierda y derecha de cuatro expansión espacio abierto pequeño, el pequeño claro de cuatro se convertirá en un pequeño trozo de hierba.
Informe a Xiao Ming, k meses más tarde qué lugar hay hierba en el espacio abierto.

Formato de entrada:
La primera línea de entrada contiene dos números enteros m, n.
Posteriormente n filas, cada fila que contiene caracteres M, el espacio abierto representa un estado inicial, no hay espacios entre las letras. Si un punto decimal, se representa como un espacio abierto, si las letras G, representa una especie de hierba.
Siguiente contiene un entero k.

Formato de salida:
salida n filas, cada fila que contiene caracteres m, k representa un mes de espacio de estado. Si un punto decimal, se representa como un espacio abierto, si la letra g representa la hierba.

de entrada de la muestra:

5 de abril de
.g ...
.....
... g.
.....
2

Resultado de muestra:

gggg.
ggggg
.gggg
..ggg

ideas:

De entrada en la forma de tipo String, tipo String pero no es conveniente para modificar el funcionamiento, el nuevo Char [] array se utiliza para almacenar todos los marcadores.

n mes es el aumento de n veces el césped, por n ciclos, cada ciclo es abordar cada g marcado, rodeado por el cambio de dirección especificada marcada g.

 

1  importación java.util.Scanner;
2  
3  público  clase principal {
 4      público  estáticas  void principales (String [] args) {
 5          exploración explorador = nuevo escáner (System.in);
6          int n = scan.nextInt ();
7          int m = scan.nextInt ();
8          String [] lugar = nuevo String [n + 1 ];
9          para ( int i = 0; i <n; i ++ ) {
 10              lugar [i] = scan.next ();    // 输入地图
11         }
 12 es          int mes El scan.nextInt = ();         // entrada mes 
13 es          
14          Char [] [] = P nuevo nuevo  Char [n-] [m];     // mapa en una matriz bidimensional P [n-] [m]; 
15          para ( int i = 0; I <n-; I ++ ) {
 16              para ( int J = 0; J <m; J ++ ) {
 17.                  P [i] [j] = Place [I] .charAt (J);
 18 es              }
 . 19          }
 20 es          Char [] [] P2 = nuevo nuevo  Char [n-] [m];     // temporal a P2 
21 es          para( Int t = 0; t <meses; t ++ ) {
 22          
23              para ( int i = 0; i <n; i ++ ) {
 24                  para ( int j = 0; j <m; j ++ ) {
 25                      si (p [i ] [j] == 'g' ) {
 26                          p2 [i] [j] = 'g' ;
27                          si (i-1> = 0) p2 [i-1] [j] = 'g' ;
28                          si (i + 1 <n) p2 [i + 1] [j] = 'g' ;
29                          Si (-1 j> = 0) p2 [i] [j-1] = 'g' ;
30                          Si (+ 1 <m j) p2 [i] [j + 1] = 'g' ;
 32                  }
 33              }
 34              para ( int i = 0; i <n; i ++ ) {
 35                  para ( int j = 0; j <m; j ++ ) {
 36                      p [i] [j] = p2 [i] [j] ;
37                  }
 38              }
 39          }
 40          para ( int i = 0; i <n; i ++ ) {
 41              para ( int j = 0; j <m; j ++ ) {
 42                  si (p [i] [j] == 'g ' ) System.out.print (p [i] [j]);
43                  personaSystem.out.print ( "" );
44              }
 45              System.out.println ();
46          }
 47          scan.close ();
48      } 
49 }

 

Supongo que te gusta

Origin www.cnblogs.com/polygon-live/p/12486868.html
Recomendado
Clasificación