สมมติว่าเรามีสตริง S. Amal และ Bimal กำลังเล่นเกม กฎของเกมมีดังนี้ คนที่เล่นครั้งแรกคืออามาลเป็นนักสืบ เขาควรสอบสวน "อาชญากรรม" และหาสาเหตุ เขาสามารถถามคำถามใดก็ได้ที่มีคำตอบว่า "ใช่" หรือ "ไม่ใช่" หากอักษรตัวสุดท้ายของคำถามเป็นสระ ให้ตอบว่า "ใช่" ไม่เช่นนั้น "ไม่ใช่" สระเหล่านี้ได้แก่ A, E, I, O, U, Y เรามี S เป็นคำถามและเราต้องหาคำตอบ
ดังนั้นหากอินพุตเป็น S ="อยู่ในมหาวิทยาลัยหรือไม่" ผลลัพธ์จะเป็นใช่
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
s := "AEIOUYaeiouy" for initialize i := 0, when i < size of S, update (increase i by 1), do: t := S[i] if t is alphabetic, then: ans := t if ans is in s, then: 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