By Frank Brenner
Date 2016-10-04 01:43
Edited 2016-10-04 02:19
Upvotes 1
Hier kommt schon mal die Lösung mit Erklärung:
Wer noch selber knoblen möchte, bitte nicht weiter lesen, oder vielleicht als Hilfeleistung nur die ersten paar Zeilen.
Die richtige Lösung kam übrigens von Emil Vlasák. Das ist schon eine hervorragende Leistung, denn in meinem Bekanntenkreis und hier im Forum hat sonst niemand die Lösung gefunden.
Also hier die Auflösung:
Die Zwerge ordnen den vier Farben Zahlwerten zu z.B. : Schwarz - > 0, Weiß -> 1 , Rot->2, Blau - >3
Anschließend denken sie sich in ihrem Kopf alle eine Uhr an der es nur vier Uhrzeiten gibt (4 Stunden): Oben ist Schwarz, rechts steht Weiß, unten Rot und links steht Blau.
Ausserdem hat die Uhr einen Zeiger der zu Anfang nach oben zeigt, also auf Schwarz.
Wenn der König den ersten Zwerg aufruft, so durchläuft der erstausgewählte Zwerg alle anderen 99 Zwerge und dreht seine Uhr für jeden der anderen Zwerge entsprechend der Hutfarbe des Zwerges vor.
Beispiel: Wenn also ein anderer Zwerg einen blauen Hut trägt, so dreht der erstausgewählte Zwerg seine Uhr um 3 Stunden vor. Hat der andere Zwerg einen Schwarzen Hut, so dreht der ausgewählte Zwerg seine Uhr um 0 Stunden vor, der Zeiger verändert sich also für Schwarze Hüte nicht.
Auf diese Weise addiert der ausgewählte Zwerg die Zahlenwerte aller Hüte aller anderen Zwerge auf seiner Uhr.
Die Uhr dreht sich dabei ein paar dutzend mal im Kreis, aber nachdem alle 99 Zwerge abgearbeitet wurden, bleibt die Uhr des erstausgewählten Zwerges auf einer bestimmten Farbe stehen.
Diese Farbe ruft dieser Zwerg laut dem König zu und alle anderen Zwerge hören diesen Farbwert ebenfalls.
Ab diesen Moment können alle anderen 99 Zwerge zuverlässig ihre eigene Hutfarbe berechnen, und das geht so:
Ein beliebig anderer Zwerg addiert auf die gleiche Weise die Hutwerte aller (diesmal nur) 98 Zwerge auf seiner eigenen Uhr (von allen Zwergen außer von sich selbst und außer vom Erstausgewählten). Die Uhr addiert also die gleichen Werte wie die des Erstausgewählten abzüglich seiner eigenen Hutfarbe.
Danach muss der Zwerg einfach nur gucken wieviel Stunden er auf seiner eigenen Uhr noch addieren muss um die ausgerufene Farbe des Erstausgewählten zu erzielen.
Diese Anzahl entspricht seiner eigenen Hutfarbencodierung.