En una red de infinitas computadoras, 650 computadoras se infectaron con cierto virus. El equipo de soporte de TI tiene acceso a cinco tipos diferentes de paquetes de software antivirus (llamémoslos A, B, C, D y E) que pueden funcionar para eliminar este virus. Cada uno de los paquetes de software antivirus ‘X’ puede eliminar el virus de las computadoras infectadas con X r si hay al menos X r computadoras infectadas con virus en la red cuando se aplica ‘X’. Pero hará que X nuevas computadoras nuevas libres de virus en la red se infecten con el virus.
Los detalles de los paquetes de software antivirus se muestran a continuación:
Software antivirus | Xr _ | X nuevo |
---|---|---|
A | 25 | 4 |
B | 14 | 0 |
C | 8 | 15 |
D | 32 | 18 |
mi | 50 | 1 |
Cualquiera de los paquetes de software antivirus se puede utilizar cualquier número de veces en cualquier orden. Pero no se pueden aplicar dos paquetes de software antivirus simultáneamente. ¿Se puede liberar la red de este virus utilizando los paquetes de software antivirus A, B, C, D y E? En caso afirmativo, ¿cuál es el orden de los paquetes y en caso negativo, por qué?
Respuesta:
no
Solución:
Observe que los paquetes de software antivirus eliminan efectivamente virus de 21, 14, -7, 14, 49 respectivamente cuando se aplican en la red. (-7 implica que 7 nuevas computadoras libres de virus se infectaron con virus). Todos estos números de cambios efectivos en las computadoras infectadas por virus dan cero resto cuando se dividen por 7.
Por lo tanto, no importa cuántos se hayan aplicado y cuántas veces, no cambiarán el resto de la cantidad total de sistemas infectados por virus cuando se divide por 7. Pero inicialmente hay 650 computadoras infectadas y eso es 6 módulo 7. Entonces, después cualquier número de usos de cualquiera de A, B, C, D o E en cualquier orden, el resto cuando el número total de computadoras infectadas en la red se divide por 7 queda en 6 constantemente.
Ejemplo: Inicialmente hay presentes 650 equipos infectados con virus. Se aplica el resto inicial cuando se divide por 7 = 6
A. 25 estarán libres de virus pero 4 nuevos están infectados. Entonces, hay un total de 629 (650-25+4) computadoras infectadas con virus. Resto cuando 629 se divide por 7 = 6. Y así sucesivamente.
In short : ( 650 - 7 * some_number ) % 7 = 650 % 7 -(7 * some_number)%7 = 6 - 0 = 6 Hence , we cannot make the difference to zero in any case
Este problema y solución se basan en el ‘principio de invariancia’.
Cuando las cosas (aparentemente) cambian continuamente, busque qué valores centrales (aunque ocultos) no están cambiando.
Tenga en cuenta que “pero no se pueden aplicar dos paquetes de software antivirus simultáneamente. ” no es estrictamente necesario. Incluso si aplicamos uno o más de ellos simultáneamente, la lógica del resto sigue siendo la misma. Pero se proporciona para garantizar que no necesitemos buscar equipos infectados mínimos (A+B+…) cuando se aplican todos los paquetes.