問題文が長めだから、丁寧に整理しよう!
問題概要
人の生徒のうち、
人は赤組で、
人は白組である。
生徒の一人である葵さんは、自分が何組かを知りたい。そこで、自分以外の 人がそれぞれ赤組であるか白組であるかを調べた。その結果は長さ
の文字列
として表現される (赤組は文字 'R'、白組は文字 'W' で表される)。
葵さんが赤組であるか、白組であるかを求めよ。
制約
のうち、文字 'R' が
個または
個である
解法
次のように考えればよいでしょう。
文字列 に含まれる文字 'R' の個数を
とするとき
であるとき:葵さんは赤組である
であるとき:葵さんは白組である
よって、あとは を求めればよいです。
は、文字列
の各文字を
for 文で調べていくことで求められます。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N, K; string S; cin >> N >> K >> S; int Rnum = 0; for (int i = 0; i < S.size(); ++i) { if (S[i] == 'R') ++Rnum; } if (Rnum == K - 1) cout << "R" << endl; else cout << "W" << endl; }