สมมติว่าเรามีสตริง S และตัวเลข X มีผู้เล่น M ที่แตกต่างกันที่ทอยลูกเต๋า ผู้เล่นคนหนึ่งทอยลูกเต๋าต่อไปจนกว่าเขาจะได้ตัวเลขอื่นที่ไม่ใช่ X ในสตริง S, S[i] แทนตัวเลขที่ทอยลูกเต๋า เราต้องหาค่า M ให้ได้ ข้อจำกัดหนึ่งคืออักขระตัวสุดท้ายใน S จะไม่เป็น X ตัวอย่างเช่น ถ้าสตริงคือ “3662123” และ X =6 ผลลัพธ์จะเป็น 5 ซึ่งสามารถอธิบายได้ดังนี้ −
- ผู้เล่นคนแรกกลิ้งได้ 3
- ผู้เล่นคนที่สองทอย และได้รับ 6, 6 และ 2
- ผู้เล่นคนที่สามทอย และได้รับ 1
- ผู้เล่นคนที่สี่กลิ้งและได้รับ 2
- ผู้เล่นคนที่ห้ากลิ้งและได้รับ 3
งานง่าย เราจะสำรวจสตริง และนับจำนวนอักขระที่ไม่ใช่ X การนับจะเป็นคำตอบ
ตัวอย่าง
#include<iostream>
using namespace std;
int countPlayers(string str, int x) {
int count = 0;
for (int i = 0; i < str.size(); i++) {
if (str[i] - '0' != x)
count++;
}
return count;
}
int main() {
string s = "3662123";
int x = 6;
cout << "Number of players: " << countPlayers(s, x);
} ผลลัพธ์
Number of players: 5