Zuerst hab ich mir überlegt dass man das Problem ja auch viel kleiner angehen kann z.b. "Teile 2 Felder so auf, dass sie genau gleich viele 1en enthalten, wobei genau eine 1 im voraus existiert". Nach etwas nachdenken kam ich dann dazu, dass es reicht die letzte Ziffer einfach zu invertieren, also immer Not(1) (Indizierung beginnend bei 0).
Nach kurzen Testen aller möglichen Zustände sah das auch gut aus:
Quote:
01 -> Not(1) -> 00 (erste Hälfte Partition 1 zweite Hälfte Partition 2)
10 -> Not(1) -> 11 (erste Hälfte Partition 1 zweite Hälfte Partition 2)
|
Also habe ich mir das eine Stufe größer überlegt:
10 Felder, genau eine 1, 2 Partitionen:
Hier sieht man relativ schnell, dass wenn man wieder die letzte Zahl invertiert und alles außer die letzte Zahl in Partition 1 packt und nur die letzte Ziffer in Partition 2, man wieder das Rätsel gelöst hat:
Paar Beispiele:
Quote:
0100000000 -> Not (9) -> 010000000 | 1
1000000000 -> Not (9) -> 100000000 | 1
0000000001 -> Not (9) -> 000000000 | 0
|
Und dann habe ich mich gefragt was denn jetzt genau der Unterschied zu 10 aus 100 Feldern sei und mir ist aufgefallen:
Gar nichts...
Das heißt die Lösung ist:
Man macht eine Partition 10 Felder groß, invertiert diese alle und die zweite Partition bekommt 90 Felder und lässt diese 90 Felder unberührt.
(Um ehrlich zu sein hat mich dein Tipp bis ich die Lösung hatte nur verwirrt :D)