สมมติว่าเรามีสตริง 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