全部评论 2

  • 具体哪里错了,能不能讲一下。

    2024-09-18 来自 加拿大

    1
    • 看了一个人的代码,做出来不是最优解,但是过了

      2024-09-20 来自 广东

      0
  • 答案是什么ヾ(≧▽≦*)o

    2024-12-07 来自 广东

    0
    • 看题解

      2024-12-07 来自 广东

      0
    • #include<bits/stdc++.h>
      using namespace std;
      
      int main(){
      	int n;
      	cin >> n;
      	string s, ans1 = "", ans2 = "";
      	cin >> s;
      	if(s[0] == '?') ans1 += 'B', ans2 += 'R';
      	else ans1 += s[0], ans2 += s[0];
      	for(int i = 1; i < s.size(); ++i){
      		if(s[i] != '?') {
                  ans1 += s[i], ans2 += s[i];
                  continue;
              }
      		if(ans1.back() == 'B') ans1 += 'R';
      		else ans1 += 'B';
      		if(ans2.back() == 'B') ans2 += 'R';
      		else ans2 += 'B';
      	} 
      	int cnt1 = 0, cnt2 = 0;
      	for(int i = 1; i < s.size(); ++i){
      		cnt1 += ans1[i] == ans1[i - 1];
      		cnt2 += ans2[i] == ans2[i - 1];
      	}
      	cout << (cnt1 < cnt2 ? ans1 : ans2);
      	return 0;
      }
      

      2024-12-14 来自 广东

      0

热门讨论