arf, Phil puisque t'as tt compris, tu pourrais m'expliquer, parce que même avec la solution j'ai un peu de mal!
(j'y ai penser tt le week end qd même!)
Un exemple pour mieux comprendre:
B B B B N B N N B B B N B N B B N B B B
la couleur la plus à gauche représente le nain du bas et celle à droite le nain en haut.
Le 20ème nain voit 6 noirs et 13 blancs, selon leur code il dit blanc car c'est la seule des deux couleurs qui est en nombre impair. Ainsi tous les autres nains savent qu'il reste un nombre impair de blancs et un nombre pair de noir.
Ensuite le 19ème nain voit 12 blancs et 6 noirs: il voit bien un nombre pair de noir mais un nombre pair de blanc, il en conclue donc qu'il est blanc car si l'on prend en compte son bonnet il doit y avoir un nombre impair de blanc.
Les autres savent alors qu'il reste un nombre pair de chacune des couleurs.
Le 18ème lui voit 11 blanc et 6 noir, il en conclue qu'il est blanc car avec son bonnet les blancs doivent être en quantité paire....
Ainsi si chaque nain suit bien chaque étape, quand son tour arrive il connait la parité de chacune des couleurs. Il regarde alors la parité des couleurs qu'il voit et en déduit la sienne: celle qui n'a pas la bonne parité.