Heim > Artikel > Backend-Entwicklung > Finden Sie den letzten Spieler, der die Zeichen in einer Binärzeichenfolge umdrehen kann
Willkommen zu unserem umfassenden Leitfaden zu interessanten algorithmischen Problemen mit Binärzeichenfolgen in C++. Wir werden uns mit einem Problem befassen, bei dem wir den letzten Spieler finden müssen, der in der Lage ist, ein Zeichen in einer Binärzeichenfolge umzudrehen. Diese Frage ist sehr nützlich für das Verständnis der Spieltheorie und binärer String-Operationen.
Bei einer binären Zeichenfolge haben wir zwei Spieler, die abwechselnd eine „1“ in eine „0“ umdrehen. Der Spieler, der den Wurf nicht ausführen kann, verliert das Spiel. Die Aufgabe besteht darin, herauszufinden, ob Spieler 1 oder Spieler 2 zuletzt einen Charakter umdrehen kann.
Wir durchlaufen die Binärzeichenfolge und zählen dabei die Anzahl der „1“. Wenn die Anzahl der „1“ eine gerade Zahl ist, ist Spieler 2 der letzte, der eine „1“ umdreht, da Spieler 1 das Spiel immer beginnt. Wenn die Anzahl der „1en“ ungerade ist, ist Spieler 1 der letzte, der eine „1“ umdreht.
Dies ist die C++-Lösung für das Problem −
#include<bits/stdc++.h> using namespace std; string lastPlayer(string s) { int count = 0; for (char c : s) { if (c == '1') count++; } return (count % 2 == 0) ? "Player 2" : "Player 1"; } int main() { string s="1101"; cout << "The last player to be able to flip a character is: " << lastPlayer(s) << endl; return 0; }
The last player to be able to flip a character is: Player 1
Dieses Programm nimmt als Eingabe eine Binärzeichenfolge und gibt den letzten Spieler aus, der den Charakter umdrehen kann.
Lassen Sie uns ein Beispiel betrachten, um dieses Problem und seine Lösung zu verdeutlichen -
Angenommen, die Binärzeichenfolge ist „1101“.
Wir zählen zunächst die Anzahl der Einsen in der Binärzeichenfolge.
Die Anzahl der „1“ in „1101“ beträgt 3, was eine ungerade Zahl ist.
Da die Zählung ungerade ist, ist Spieler 1 der letzte, der die „1“ umdreht.
Die Ausgabe lautet also „Der letzte Spieler, der die Rollen wechseln konnte, war: Spieler 1“.
In dieser C++-Anleitung haben wir gelernt, wie man den letzten Spieler ermittelt, der ein Zeichen in einer Binärzeichenfolge umdrehen kann. Diese Frage ist eine interessante Untersuchung der Spieltheorie und der Manipulation binärer Zeichenfolgen.
Das obige ist der detaillierte Inhalt vonFinden Sie den letzten Spieler, der die Zeichen in einer Binärzeichenfolge umdrehen kann. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!