Habe ich fast genauso. Sehr coole Aufgabe. Das Ganze funktioniert auch im Kreis.
PHP-Code:
Wir teilen die rechte und linke Seite der roten Linie so ein, dass, wenn man eine ungerade Anzahl an roten Mützen sieht, man nach rechts geht, andernfalls geht man nach links.
Da alle Mützen bis auf die eigene gesehen werden, wissen alle, außer die Person, die sich nach rechts oder links stellt, welche Mützenfarbe sie aufhaben. Stellt sich dann die zweite Person auf eine Seite, weiß auch die erste Person seine Mützenfarbe. Sodann können alle ihre Mützenfarbe richtig raten (und das nach zwei Zügen) ?.
Wir vollziehen abschließend noch ein Beispiel:
Angenommen es sind 4 rote und 5 blaue Mützen verteilt worden. Die Person mit einer blauen Mütze stellt sich sodann nach rechts. Die Personen mit der roten Mütze sehen drei rote Mützen, die Personen mit blauen Mützen sehe 4 rote. Da die Person 1 sich nach rechts gestellt hat, ist die Anzahl an roten Mützen für die Person gerade. Die drei Personen mit roter Mütze, die nur drei rote Mützen sehen, wissen sodann, dass ihre Mütze rot sein muss. Die anderen Personen mit blauer Mütze, die 4 rote Mützen sehen, wissen sodann, dass ihre Mützen blau sind. Einzig die erste Person kennt ihre Mützenfarbe noch nicht. Stellt sich nun die Person mit einer blauen Mütze, die ja vier rote Mützen sieht nach rechts, so weiß Person 1, die ja auch vier rote Mützen sieht, dass ihre Mütze blau ist. Stellt sich nun eine Person mit roter Mütze nach links, so weiß die erste Person auch, dass ihre Mützenfarbe blau sein muss.
Dahinter steckt die Kodierungsstrategie.