Un programa limpio de fuerza bruta que verifique los siguientes casos funcionaría;
Caso 1: Horizontal A
Para verificar si hay un posible interruptor que forma tres dulces horizontalmente, vea este diagrama
BB: se refiere a dos dulces adyacentes en color azul. Ahora, si alguno de los dulces en ‘X’ es de color azul, podrían cambiarse (con los dulces adyacentes a B horizontalmente) para formar tres dulces azules horizontalmente. No nos preocupamos por otros dulces.
- ¿Cuántos niveles habrá en un árbol completamente binario si tiene n número de nodos?
- ¿Qué enfoque debe adoptar en la vida, un paradigma codicioso o un enfoque de programación dinámica?
- ¿Existe una estructura de datos ordenada que se pueda insertar en O (logn) y buscar en O (1)?
- ¿Cómo se imprime el reverso de una pila de objetos iterables?
- ¿Cuál es el algoritmo perfecto para extraer la forma, el color, la textura y los bordes de las partes cilíndricas en MATLAB en preparación para el aprendizaje supervisado?
Haga un pase sobre el conjunto de dulces en 2-d, si hay dos dulces adyacentes del mismo color, debe verificar las seis posiciones marcadas en X para ver si tiene el mismo color; si es así, hay un posible cambio . Del mismo modo, estas son las otras configuraciones.
Caso 2: Horizontal B
O X O
MOVER
O X O
Caso 3: Vertical A
O X O
X O X
OBO
OBO
X O X
O X O
Caso 4: Vertical B
OBO
X O X
OBO
Por lo tanto, todo lo que hay que hacer es hacer pases separados para cada uno de los casos anteriores y verificar si hay un posible cambio. Es un buen ejercicio de programación para ver si está manejando todos los casos límite de manera adecuada: límites y obstáculos. Este método simple de fuerza bruta es bastante rápido, por lo que no necesitaría optimizar en absoluto.