SRM613 Div2 Easy "TaroString"
問題
TopCoder Statistics - Problem Statement
訳
猫のタロウは文字列 S を持っていた。彼はSから"CAT"という文字列を手に入れたかった。1回の操作で好きな文字を選び、それをSから消すことができる(選んだ文字がSに複数個あれば、それら全てを消す)。操作は好きなだけ行うことができる。
あなたはString Sが与えられる。文字列"CAT"が得ることができるかどうかを返せ。
制約
1 <= Sの長さ <= 50
考えたこと
SにC, A, Tどれもちょうど1つある。SにC, A, Tの順番である。この2つを満たせばよい
ソースコード
class TaroString { public: string getAnswer(string S) { int n = S.size(); int c = 0; int a = 0; int t = 0; for (int i = 0; i < n; i++) { if (S[i] == 'C') c++; if (S[i] == 'A') a++; if (S[i] == 'T') t++; } if (!(c == 1 && a == 1 && t == 1)) return "Impossible"; for (int i = 0; i < n; i++) { if (S[i] == 'C') c = i; if (S[i] == 'A') a = i; if (S[i] == 'T') t = i; } return c < a && c < t && a < t ? "Possible" : "Impossible"; } }