Official
A - Rainy Season Editorial by satashun
そもそも天気の組合せは、\(1,2,3\) 日目がそれぞれ晴れ、雨かどうかで \(2^3=8\) 通りしかないので、\(8\) 通りの場合分けを書けば正答することができます。
例えば \(3\) 日より長い場合の解法など繋がるような場合分けをすると、
- \(3\) 日連続しているかどうか
- \(2\) 日連続しているかどうか
- \(1\) 日連続しているかどうか
- それ以外(\(0\)日)
の順にチェックしていくと正しく判定することができ、場合分けも間違えにくいと思います。
#include <iostream>
using namespace std;
int main() {
string S;
cin >> S;
bool p = S[0] == 'R';
bool q = S[1] == 'R';
bool r = S[2] == 'R';
if (p and q and r) {
cout << 3 << endl;
} else if ((p and q) or (q and r)) {
cout << 2 << endl;
} else if (p or q or r) {
cout << 1 << endl;
} else {
cout << 0 << endl;
}
return 0;
}
posted:
last update: