けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

AtCoder ABC 093 A - abc of ABC (灰色, 100 点)

3 文字の問題

問題概要

文字がすべて 'a', 'b', 'c' のいずれかである 3 文字の文字列  S が与えられる。

 S を並び替えることで "abc" にできるかどうかを判定せよ。

解法

おそらく想定解法は、

 S が "abc", "acb", "bac", "bca", "cab", "cba" のいずれか

であるかどうかを確かめることだと思われる。しかしながら、次のように解いてしまう方が早いと思う。

  1.  S をアルファベット順に並び替える
  2.  S が "abc" であるかどうかを判定する
#include <bits/stdc++.h>
using namespace std;

int main() {
    string S;
    cin >> S;
    sort(S.begin(), S.end());
    if (S == "abc") cout << "Yes" << endl;
    else cout << "No" << endl;
}