Anda di halaman 1dari 3

Red poco confiable

Alice est envindole un mensaje a Bob a travs de una red, pero en ocasiones
algunos nodos de esta red tienen problemas y cambian un bit (y slo uno) del
mensaje que reciben. Por ejemplo, si el mensaje que le llega al nodo es 11000, el
nodo puede cometer un error y enviarle 11001 al siguiente nodo, o tambin podra
enviarle 01000. Cambiar un bit significa remplazar el valor del mensaje en una
posicin por 0 si antes haba 1, o por 1 si antes haba 0.

Existe un registro de todos los mensajes enviados a travs de la red (que incluye
el mensaje original y todos los mensajes corruptos enviados por los nodos), y
ahora Alice, conociendo el mensaje que recibi Bob, quiere saber cul fue el
nmero mnimo de nodos que alteraron su mensaje original. Puede ayudarla?

Entrada

La primera lnea de la entrada contiene un entero T, que indica el nmero de


casos. A continuacin sigue la descripcin de cada uno de los T casos.

Cada caso empieza por una lnea que contiene dos enteros, N y S (separados por
un espacio), que indican la cantidad de mensajes en el registro y la longitud de
cada mensaje, respectivamente. Las siguientes N lneas corresponden a los
mensajes, un mensaje representado como cadena binaria por lnea. El primer
mensaje siempre es el que envi Alice. La siguiente lnea contiene un entero Q,
que denota el nmero de consultas para este caso. Cada una de las
siguientes Q lneas contiene el mensaje que recibi Bob.

Salida

Por cada consulta en cada caso, imprima una lnea con el nmero mnimo de
nodos que alteraron el mensaje. Si no existe ninguna secuencia de nodos que
transforme el mensaje original (un bit cada nodo) en el mensaje que recibi Bob,
imprima Intruso en una lnea.

Restricciones

1N10001N1000

1S331S33

1Q10001Q1000

Todos los mensajes tienen la misma longitud.

Los archivos de prueba evalan su solucin as:

Input #1: Evala su solucin con los casos de ejemplo


Input #2: Verifica la correccin de su solucin en casos muy pequeos
(1N101N10, 1S51S5, 1Q101Q10)

Input #3 - Input #6: Casos pequeos


(1N1001N100, 1S101S10, Q=1Q=1)

Input #7 - Input #8: Casos medianos


(1N3501N350, 1S101S10, 1Q3501Q350)

Input #9 - Input #10: Casos grandes


(1N10001N1000, 1S331S33, 1Q10001Q1000)

Consideraciones

Asuma que los nodos no alteraron los mensajes de formas diferentes a las
que estn en el registro

Cada nodo slo puede alterar un bit del mensaje que recibe.

Recuerde que en Python no puede usar listas como llaves de un diccionario


o como elementos de un set. Si necesita esto, utilice un tipo de dato
inmutable como las cadenas o las tuplas (tuple()).
Sample Input
4
4 5
00000
10000
01000
01100
1
01100
3 3
000
100
110
1
001
1 3
000
4
000
001
010
100
5 6
110110
010110
010000
010010
110100
6
110110
010110
010000
010010
110100
111110
Sample Output
2
Intruso
0
Intruso
Intruso
Intruso
0
1
3
2
1
Intruso

Anda mungkin juga menyukai