Wenn Münzen auf ein Gitter gelegt werden und nur eine ganze Reihe oder Spalte gewendet werden kann, wie können wir die Münzen umdrehen, um die Mindestanzahl zu erhalten Schwänze.Erhalt der Mindestanzahl von Münzenden nach mehrmaligem Umdrehen der gesamten Reihe oder Spalte
Ich habe versucht, die gierige Lösung zu verwenden, in der ich die Reihe oder Spalte klappen, wo die Anzahl der Schwänze größer als Köpfe ist und den Prozess wiederhole, bis es keine Änderung auf der Zahl gibt. Aber ich habe festgestellt, dass mir dieser Ansatz manchmal keine optimale Lösung bietet.
HHT
THH
THT
Zum Beispiel, wenn die Münzen wie die oben platziert sind und ich die Münzen in unten Weise spiegeln, ist der erhaltene Wert 3, aber tatsächlich ist die Antwort 2.
1. Flip the row 3
HHT
THH
HTH
2. Then there exists no row or column where the number of tails are greater than that of heads.
3. But if I flip the column 3, row 3, column 1, there exists a solution whose value is 2.
THH
HHT
HHH
Also, ich denke, Der obige Algorithmus funktioniert nicht. Welchen Ansatz und welchen Algorithmus soll ich verwenden?
Warum sollte die Antwort 2 sein? Warum koppelst du, wenn es jetzt Zeile/Spalte mit mehr T als H gibt, kannst du nicht drehen, bis alles Kopf ist? Wenn Sie mit dem Umdrehen wirklich das stochastische Experiment des Umdrehens aller Münzen meinen, haben Sie eher eine nicht optimale Lösung als eine optimale Lösung. –
@ G.Bach Ich denke, dass in seinem Fall Münzen einfach Marken sind, die entweder Schwänze oder Köpfe zeigen können, und das Umdrehen bedeutet einfach, dass die Münze umgedreht wird. – Svalorzen
@Svalorzen Sie haben Recht. Ich denke, ich habe das Wort falsch benutzt. Was ich meine, war nur Kopf und Schwanz zu wechseln. – glast