Mô tả bài toán
Chuỗi S chỉ chứa 'S' (Seattle) và 'F' (Florida). S[i] là địa điểm ngày i. Kiểm tra số lần bay từ Seattle→Florida có nhiều hơn Florida→Seattle không.
Ví dụ
S="SSFFSFFSFF" → Output: True.
Thuật toán
Số lần bay S→F = số cặp "SF". Số lần F→S = số cặp "FS". Chỉ cần so sánh ký tự đầu và cuối: nếu bắt đầu bằng 'S' và kết thúc bằng 'F' thì S→F nhiều hơn (vì mỗi lần chuyển đổi luân phiên, chênh lệch tối đa 1).
Code C++
#include <bits/stdc++.h>
using namespace std;
bool solve(string S) {
int n = S.size();
return (S[0] == 'S' && S[n-1] == 'F');
}
int main() {
string S = "SSFFSFFSFF";
cout << solve(S) << endl;
return 0;
}
Đầu vào / Đầu ra
Input: "SSFFSFFSFF"
Output: 1 (true)