La versión Java del rango de movimiento del robot, el contenido específico es el siguiente
Hay un cuadrado de filas y n columnas en el suelo. Un robot comienza a moverse de una cuadrícula con las coordenadas 0 y 0, y solo puede mover una cuadrícula hacia las direcciones izquierda, derecha, superior e inferior a la vez, pero no puede entrar en una cuadrícula con la suma de los dígitos de las coordenadas de fila y las coordenadas de columna mayores que K. Por ejemplo, cuando K tiene 18 años, el robot puede ingresar a la cuadrícula (35,37), porque 3+5+3+7 = 18. Sin embargo, no puede ingresar al cuadrado (35,38), porque 3+5+3+8 = 19. ¿Cuántas cuadrículas puede alcanzar el robot?
Solución de problemas:
1. Primero, determine si la posición actual cumple con las condiciones de entrada. Si se cumplen las condiciones de entrada, continúe juzgando las cuatro posiciones a su alrededor, hacia abajo, hacia la izquierda y la derecha (excepto el límite). Si no está satisfecho, significa que la selección de posición actual es incorrecta.
2. En cada intento, declare una serie de banderas para registrar las ubicaciones que se han visitado.
3. Hay tres condiciones para tratar de continuar: las coordenadas son legales en la matriz, las coordenadas cumplen con las condiciones de entrada y no se ha accedido a las posiciones de las coordinadas.
Solución de clase pública {public int mudmentCount (intshold, int filas, int cols) {if (umbral <0 || filas <= 0 || cols <= 0) {return 0; } int count = 0; boolean [] bandera = nuevo booleano [filas*cols]; for (int i = 0; i <shows*cols; i ++) {flag [i] = true; } count = Moving (umbral, 0, 0, filas, cols, bandera); recuento de retorno; } public int Moving (int t, int file, int col, int filas, int cols, boolean [] flag) {int count = 0; if (isAlow (t, fila, col, filas, cols, bandera)) {flag [fila*cols+col] = false; conte = 1+en movimiento (t, fila-1, col, filas, cols, bandera)+en movimiento (t, fila, col-1, filas, cols, bandera)+móvil (t, fila+1, col, filas, cols, bandera)+mudanza (t, fila, col+1, filas, cols, bandera); } recuento de retorno; } // Calcule la suma de los dígitos de las coordenadas y devuelve el resultado de comparación con el umbral public boolean isLlow (int t, int fila, int col, int fila, int cols, boolean [] flag) {if (fila> filas || fila <0 || col> cols || col <0 || file*cols+col> rows*cols-1 || flag [fila*COLS+COLS) FALSO; } int sum = 0; char [] chs = (fila+""). toCharArray (); char [] chs1 = (col+""). toCharArray (); for (char ch: chs) {sum += caracteres.getNumericValue (ch); } para (char ch1: chs1) {sum += caracteres.getNumericValue (ch1); } suma de retorno <= t; }}Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.