3 文字の問題
問題概要
文字がすべて 'a', 'b', 'c' のいずれかである 3 文字の文字列 が与えられる。
を並び替えることで "abc" にできるかどうかを判定せよ。
解法
おそらく想定解法は、
が "abc", "acb", "bac", "bca", "cab", "cba" のいずれか
であるかどうかを確かめることだと思われる。しかしながら、次のように解いてしまう方が早いと思う。
- をアルファベット順に並び替える
- が "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; }