Para este desafío, necesita comprimir un diff. Una diferencia son algunos datos que representan la diferencia entre dos cadenas. Para este desafío, debe proporcionar uno o más programas que puedan:
- Entrada
A
yB
salida de un diff,C
- De entrada
A
yC
, y la salidaB
- De entrada
B
yC
, y la salidaA
El objetivo es hacer que la diferencia sea lo C
más pequeña posible. La diferencia puede ser cualquier cosa: una cadena, un número, una gota de datos. Solo nos importa el tamaño (número de bytes).
Tengo 50 casos de prueba que se pueden encontrar en Github . Cada caso de prueba consta de dos URL separadas por espacios que apuntan a los 2 archivos que necesita diferenciar. (Estos casos de prueba se originaron en los perfiles de Github de los miembros de PPCG. ¡Gracias a todos!)
Las tres tareas anteriores deberían tardar menos de un minuto en ejecutarse en una computadora con una potencia razonable (para cada caso de prueba).
Su puntaje es igual al tamaño total (en bytes) de las 50 diferencias, menor es mejor. No se permiten diferencias de codificación en su programa (me reservo el derecho de cambiar los casos de prueba para evitar la codificación). Las acumulaciones que producen un diff (como diffutils
) no están permitidas.
A
yB