Rumah > Artikel > pembangunan bahagian belakang > Cari pemain terakhir yang boleh menyelak aksara dalam rentetan binari
Selamat datang ke panduan komprehensif kami untuk masalah algoritma menarik yang melibatkan rentetan binari dalam C++. Kita akan melihat masalah di mana kita perlu mencari pemain terakhir yang dapat membalikkan watak dalam rentetan binari. Soalan ini sangat berguna untuk memahami teori permainan dan operasi rentetan binari.
Memandangkan rentetan binari, kami mempunyai dua pemain secara bergilir-gilir menukar '1' menjadi '0'. Pemain yang tidak dapat melakukan flip kalah dalam permainan. Tugasnya adalah untuk mengetahui sama ada pemain 1 atau pemain 2 boleh membalikkan watak terakhir.
Kami akan mengulangi rentetan binari, mengira bilangan "1". Jika nombor "1" ialah nombor genap, pemain 2 akan menjadi orang terakhir yang menyelak "1" kerana pemain 1 sentiasa memulakan permainan. Jika nombor "1" ialah nombor ganjil, pemain 1 akan menjadi orang terakhir yang menyelak "1".
Ini adalah penyelesaian C++ untuk masalah−
#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
Program ini mengambil sebagai input rentetan binari dan mengeluarkan pemain terakhir yang boleh membalikkan watak.
Mari kita pertimbangkan contoh untuk menjelaskan masalah ini dan penyelesaiannya -
Katakan rentetan binari ialah "1101".
Kami mula-mula mengira bilangan '1' dalam rentetan binari.
Nombor "1" dalam "1101" ialah 3, iaitu nombor ganjil.
Memandangkan kiraan adalah ganjil, Pemain 1 akan menjadi orang terakhir yang menyelak '1'.
Jadi outputnya ialah "Pemain terakhir yang dapat menukar peranan ialah: Pemain 1".
Dalam panduan C++ ini, kami belajar cara menentukan pemain terakhir yang boleh menyelak watak dalam rentetan binari. Soalan ini adalah penerokaan yang menarik tentang teori permainan dan manipulasi rentetan binari.
Atas ialah kandungan terperinci Cari pemain terakhir yang boleh menyelak aksara dalam rentetan binari. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!