Для этого вам нужно сжать разность. Разница - это некоторые данные, которые представляют разницу между двумя строками. Для этой задачи вам необходимо предоставить одну или несколько программ, которые могут:
- Введите
A
иB
, и выведите diff,C
- Входной
A
иC
, и выходB
- Входной
B
иC
, и выходA
Цель состоит в том, чтобы сделать diff C
как можно меньше. Разница может быть чем угодно: строка, число, блок данных. Мы просто заботимся о размере (количестве байтов).
У меня есть 50 тестовых случаев, которые можно найти на Github . Каждый тестовый пример состоит из двух разделенных пробелами URL-адресов, которые указывают на 2 файла, которые необходимо проверить. (Эти тестовые примеры взяты из профилей Github членов PPCG. Спасибо всем!)
Все три задачи, описанные выше, должны выполняться менее чем за минуту на компьютере с разумной нагрузкой (для каждого тестового случая).
Ваша оценка равна общему размеру (в байтах) всех 50 различий, чем ниже, тем лучше. Жесткое кодирование различий в вашей программе не разрешено (я оставляю за собой право изменять контрольные примеры для предотвращения жесткого кодирования). Встроенные функции, которые производят diff (как diffutils
), не допускаются.
A
иB