Java - Ayuda sobre Trabajo (Con fotos)

 
Vista:
sin imagen de perfil
Val: 6
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda sobre Trabajo (Con fotos)

Publicado por fabrizzio (6 intervenciones) el 05/12/2018 01:50:12
Estimado,

Tengo un problema que no he podido resolver y que me trae bastante complicado. Según lo que nos indico nuestro profesor el problema se debería poder resolver por backtracking, así como también, debe ser posible una vez resuelto, aconsejar un tipo de mejora al propio algoritmo.

Este consiste en llenar una matriz (de 6x5) con pares de números (1,1 -2,2. etc) de la siguiente forma

https://ibb.co/89JYrCs

El tema esta en que no deben haber casilleros vacíos y la matriz solo se considerara llena, una vez que todos los números estén dentro de sus casilleros y al recorrer los vertices estos topen con un par de números.

Espero alguien pueda ayudarme por que es un buen puntaje para una prueba!!.

Ej: matriz llena

https://ibb.co/Mp80sQZ


Obviamente no todos los números quedaran pares, pero mientras mas allan se considera "mejor" y mas efectivo el ejercicio.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Billy Johnson
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda sobre Trabajo (Con fotos)

Publicado por Billy Johnson (876 intervenciones) el 05/12/2018 03:03:01
Me podrías confirmar si hay un error con el 13?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda sobre Trabajo (Con fotos)

Publicado por Fabrizzio (6 intervenciones) el 05/12/2018 03:21:54
Si, debería seguir la norma anterior, ante cualquier duda contesto enseguida.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda sobre Trabajo (Con fotos)

Publicado por Billy Joel (876 intervenciones) el 05/12/2018 05:21:29
Así lo resuelvo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public class RellenarMatriz {
 
    public static void main(String[] args) {
        int filas = 6;
        int columnas = 5;
        int[][] matriz = new int[filas][columnas];
 
        boolean derecha = true;
        boolean hasPar = false;
        int contador = 1;
 
        for (int i = 0; i < filas; i++) {
            if (derecha) {
                for (int j = 0; j < columnas; j++) {
                    if (hasPar) {
                        matriz[i][j] = contador;
                        contador++;
                        hasPar = false;
                    } else {
                        matriz[i][j] = contador;
                        hasPar = true;
                    }
                }
                derecha = false;
            } else {
                for (int j = columnas - 1; j >= 0; j--) {
                    if (hasPar) {
                        matriz[i][j] = contador;
                        contador++;
                        hasPar = false;
                    } else {
                        matriz[i][j] = contador;
                        hasPar = true;
 
                    }
                }
                derecha = true;
            }
        }
 
        //ahora imprimimos la matriz
        for (int i = 0; i < filas; i++) {
            for (int j = 0; j < columnas; j++) {
                System.out.print(matriz[i][j] + "\t");
            }
            System.out.println();
        }
    }
}

Se que se puede mejorar pero por ahora esto debe funcionar.

Saludos!!
;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 6
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda sobre Trabajo (Con fotos)

Publicado por Fabrizzio (6 intervenciones) el 05/12/2018 18:12:43
Excelente, alguna forma de hacerlo de manera recursiva?
Sería de gran utilidad que fuese de esa forma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar