ABC-A のスキルではないけど、ソートしてしまうのが楽。
問題概要
長さ 3 の文字列 が与えられる。 に含まれる文字は 'A' か 'B' のいずれかである。
この文字列が 'A' と 'B' をともに含むかどうかを判定せよ。
解法
をソートするのが楽だと思う。たとえば、"BAB" をソートすると、"ABB" となる。
- ソートして先頭の文字が 'A' で、末尾の文字が 'B' であったら、"Yes"
- そうでなければ "No"
と答えればよい。
#include <bits/stdc++.h> using namespace std; int main() { string S; cin >> S; sort(S.begin(), S.end()); if (S[0] == 'A' && S.back() == 'B') cout << "Yes" << endl; else cout << "No" << endl; }