Qui est-ce (Hardware) - FCSC 2022
Principe:
Analyser (et brute-forcer intelligemment) un logigramme pour retrouver les entrées correspondant à une sortie donnée
Le challenge
Suivre les fils
Formule
Analyse
On ne peut pas force-bruter bêtement le diagramme (trop de combinaisons),
en tous cas, pas sur ma machine et pas en PHP. On va faire plus subtile
En pratique, pour chaque i de 0..62, x(i)
va avoir une influence uniquement sur y(i) y(i+1) y(i+2)
Donc, pour chaque i on va regarder si x(i) peut être true
et s'il peut être false en fonction des sorties. On éliminera des possibilités,
et en réitérant, on finira par n'en avoir qu'une
Ici, après une itération, on voir que le x(62) peut être true et qu'il peut aussi être false (donc, on ne sait rien), mais x(60) peut uniquement être TRUE: on a donc avancé en récupérant une information
Comme on nous fournit un exemple (y=133...337), on prendra soin de d'abord vérifier l'algorithme avec l'exemple donné: c'est la première ligne de l'écran de gauche. Ensuite, on relancera l'algo avec la sortie Y du challenge, on récupère X et on le soumet au site