สมมติว่าเรามีสตริง S ที่มีตัวอักษรสองชนิดคือ 'S' และ 'F' ถ้า S[i] คือ 'S' เราอยู่ที่ซีแอตเทิลในวันนั้น และถ้าเป็น 'F' เราอยู่ที่ฟลอริดา เราต้องตรวจสอบว่าเราบินจากซีแอตเทิลไปฟลอริดาหลายครั้งมากกว่าฟลอริดาไปซีแอตเทิลหรือไม่
ดังนั้น หากอินพุตเป็น S ="SSFFSFFSFF" เอาต์พุตจะเป็น True
ขั้นตอน
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ −n :=ขนาดของ S
ถ้า S[0] เหมือนกับ 'S' และ S[n - 1] เหมือนกับ 'F' ดังนั้น:
คืนความจริง
มิฉะนั้น
คืนค่าเท็จ
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
#include <bits/stdc++.h> using namespace std; bool solve(string S) { int n = S.size(); if (S[0] == 'S' && S[n - 1] == 'F') return true; else return false; } int main(){ string S = "SSFFSFFSFF"; cout << solve(S) << endl; }
อินพุต
"SSFFSFFSFF"
ผลลัพธ์
1