Copiado al portapapeles
Descripción
Un punto fijo de un vector es un punto que se asigna a sí mismo en el vector. el entero i es un punto fijo de a0, a1, ..., an - 1 si y sólo si ai = i. Por ejemplo, el vector [0, 2, 1] tiene 1 punto fijo (a0 = 0) ahora si yo cambio posición a2 y a1 quedaría así [0,1,2] ahora esto tiene 3 puntos fijos.
Su tarea es encontrar la mayor cantidad de puntos fijos de un vector y solo se le permite intercambiar dos elementos como máximo.
Ej se tiene el vector [0 , 1 , 4, 5, 2] esto tiene 2 puntos fijos pero no es la mayor cantidad, como solo se me permite intercambiar 2 elementos si intercambio 4 y 5 quedaría así [0,1,5,4,2] sigue con 2 puntos fijo, pero si intercambio 4 y 2 quedaría así [0,1,2,5,4] esto tiene 4 puntos fijos y es la mayor cantidad de puntos fijos así que la respuesta seria 4.
Entrada
La primera linea contiene el número de casos de pruba T, seguido por T casos, cada caso contiene N el tamaño del vector, seguido de N números.
Salida
Por cada caso debe imprimir una linea que contiene la mayor cantidad de puntos fijos.
Ayuda
Se puede hacer todos los cambios posibles y contar cuantos puntos fijos existen para un cierto tipo de cambio