สมมติว่าเรามีสตริง S อมลและบิมลกำลังเล่นเกม กฎคือ: ผู้เล่นคนแรก (อมล) เป็นนักสืบ ต้องสอบสวน "อาชญากรรม" และหาสาเหตุ เขาสามารถถามคำถามได้ที่ตอบ "ใช่" หรือ "ไม่" เท่านั้น หากตัวอักษรสุดท้ายของคำถามเป็นสระ จะตอบ "ใช่" มิฉะนั้นตอบ "ไม่" สระคือ: A, E, I, O, U, Y เรามี S เป็นคำถาม ต้องหาคำตอบ
เช่น ถ้าอินพุตคือ S = "Is it in university?" เอาต์พุตจะเป็น Yes
ขั้นตอนการแก้ปัญหา
s := "AEIOUYaeiouy"
for i := 0 ถึง size of S - 1:
t := S[i]
if t เป็นตัวอักษร:
ans := t
if ans อยู่ใน s:
return "YES"
otherwise:
return "NO"
ตัวอย่างโค้ด
#include <bits/stdc++.h>
using namespace std;
string solve(string S) {
string s = "AEIOUYaeiouy";
char ans;
for (int i = 0; i < S.size(); i++) {
char t = S[i];
if (isalpha(t))
ans = t;
}
if (s.find(ans) != -1)
return "YES";
else
return "NO";
}
int main() {
string S = "Is it in university?";
cout << solve(S) << endl;
}
อินพุต
"Is it in university?"
เอาต์พุต
YES