Схема обмена секретами Шамира - это простой способ защитить секрет, разделив его на несколько частей, необходимых для восстановления.
Ваша задача состоит в том, чтобы осуществить реконструкцию «Секретного разделения Шамира» над Конечным полем, определенным простым 1928049029
. Если у вас есть какие-либо сомнения относительно того, что это значит, просто спросите или посмотрите Арифметику конечных полей и конечных полей в Википедии (дополнительные ресурсы приведены ниже).
вход
Ввод осуществляется с использованием стандартного ввода. Сначала идет целое число k
, затем следуют k строк. Каждая из этих строк содержит пару целых чисел, x y
которые представляют секрет. Другими словами, f(x) = y
в исходном полиноме, который использовался для построения секретов.
Количество выданных секретов всегда достаточно, чтобы построить соответствующий секрет.
Вывод
Выход на вывод реконструированного секрета.
Примеры
Входные данные:
5
1 564797566
2 804114535
4 1354242660
6 1818201132
7 503769263
Вывод:
1234
Входные данные:
7
1 819016192
2 1888749673
3 1737609270
4 365594983
5 1628804870
6 1671140873
7 492602992
Вывод:
456457856
Ресурсы
Конечное поле Источник: Википедия
Конечная полевая арифметика Источник: Википедия
Полином Лагранжа Источник: Википедия