Descripción:
Hay $mn$ ($m \leq 100$, $n \leq 100$) monedas en el escritorio formando un $m\times n$ moneda de la matriz. Cada moneda en la cara arriba o cara hacia atrás, representados por 0 o por 1.
Las reglas del juego son:
(1) cada vez, se le permite a la inversa una fila de monedas.
(2) cada vez, se le permite intercambiar dos columnas.
Objeto:
a partir de la matriz inicial -> destino de la matriz
Entrada:
1. $k$ el recuento de caso de prueba
2. $m n$ el recuento de filas y columnas
3. los números de la matriz inicial y el destino de la matriz
Salida los menos pasos desde la fase inicial de la matriz de objetivo de la matriz, si no es posible la transferencia de la inicial de blanco, la salida de -1.
muestra de la potencia
2
4 3
1 0 1
0 0 0
1 1 0
1 0 1
1 0 1
1 1 1
0 1 1
1 0 1
4 3
1 0 1
0 0 0
1 0 0
1 1 1
1 1 0
1 1 1
0 1 1
1 0 1
ejemplo de salida
2
-1
Yo he programado una solución: mysolution.ccque enumerar todas las posibilidades y lo que es correcto, pero es demasiado lento, podría proporcionar una correcta pero rápida solución.
Gracias.