Le schéma de partage de secrets de Shamir est un moyen simple de protéger un secret en le divisant en plusieurs parties nécessaires à sa reconstruction.
Votre tâche consiste à mettre en œuvre la reconstruction du partage secret de Shamir sur le champ fini défini par le premier 1928049029. Si vous avez des doutes sur ce que cela signifie, il suffit de demander ou de voir Finith Field & Finite Field Arithmetic dans wikipedia (plus de ressources ci-dessous).
Contribution
L'entrée se fait à l'aide de stdin. Vient d'abord un entier k, puis k lignes suivent. Chacune de ces lignes contient une paire d'entiers x yqui représentent un secret. En d'autres termes, f(x) = ydans le polynôme original qui a été utilisé pour construire les secrets.
Le nombre de secrets donnés est toujours suffisant pour construire le secret correspondant.
Production
Sortie pour sortir le secret reconstruit.
Exemples
Contribution:
5         
1 564797566
2 804114535
4 1354242660
6 1818201132
7 503769263
Production:
1234
Contribution:
7
1 819016192
2 1888749673
3 1737609270
4 365594983
5 1628804870
6 1671140873
7 492602992
Production:
456457856
Ressources
Champ fini Source: Wikipedia
Arithmétique des champs finis Source: Wikipedia
Polynôme de Lagrange Source: Wikipedia