Python competitiva Codificación de Preguntas | XOR y matrices : Esta práctica se basa en XOR y matrices en el lenguaje de programación Python.
Pregunta:
Juan ama XOR . Los amigos de Juan siempre preguntan lo dudas relacionadas con XOR y les ayuda a resolver los problemas, pero él está ocupado debido a sus exámenes y le pide que ayudar a sus amigos. Uno de sus amigos quiere su ayuda con el siguiente problema. Dada una matriz de números N y un número K . La tarea es para insertar el número de la matriz dada de tal manera que el nivel de bit XOR de todos los elementos de la nueva matriz es igual a la entrada dar K .
de entrada:
La primera línea de entrada contiene un número entero T que denota el número de casos de prueba.
La primera línea de cada class prueba consta de 2 números enteros que denotan N y K . La segunda línea de cada case prueba consiste en N enteros -Espacio que denotan la matriz.
1
5 10
1 2 3 4 5
salida:
case cada prueba For imprimir el número insertando el que el XOR de todos los elementos de la matriz se hace igual a K .
Explanation:
1^2^3^4^5^11 = 10
Output:
11
Restricciones:
1 <= T <100
1<N, K = 100
1 <= array elements <= 10^3
Para resolver esta cuestión, estamos utilizando python3.
operación XOR bit a bit
En pitón, operadores de bits se utilizan para llevar a cabo la operación en modo bit en números enteros. En primer lugar los números enteros se convierten en dígito binario y luego poco a poco el funcionamiento se lleva a cabo y el resultado se devuelve en el formato decimal.
XOR mesa de operaciones,
0 ^ 0 | 0 |
0 ^ 1 | 1 |
1 ^ 0 | 0 |
1 ^ 1 | 0 |
Código:
# Input test case (T)
print("Input test case: ")
t = int(input())
while(t>0):
t=t-1
# Input value of m and k
print("Input value of m and k: ")
m,k=list(map(int,input().split()))
# Input array elements
print("Input array elements: ")
arr=list(map(int,input().split()))
# Store first value
res=arr[0]
for i in range(1,m):
# Perform the bitwise XOR operation
# on elements in array
res=res^arr[i]
# print the result
print("Result is: ")
print(k^res)
salida
Input test case:
1
Input value of m and k:
5 10
Input array elements:
1 2 3 4 5
Result is:
11