import math,sys;input=sys.stdin.readline;S=lambda:input().rstrip();I=lambda:int(S());M=lambda:map(int,S().split());L=lambda:list(M());mod1=1000000007;mod2=998244353
for _ in range(I()):
n=I();s=S();f=0
if n==1:
if s[0]=='W':print("YES")
else:print("NO")
continue
l=list(s.split('W'))
for i in l:
if len(i)>0 and (i=='R'*len(i) or i=='B'*len(i)):f=1;break
print("NO" if f else "YES")
// Online C++ compiler to run C++ program online
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;cin>>t;
while(t--){
int n;cin>>n;
string s;cin>>s;
int c=0,r=0,b=0;
string a;
for(int i=0;i<n;i++){
if(s[i]=='W'){
if(r==0 && b==0 || r>0 && b>0)r=0,b=0,c=0;
else{
a="N";
cout<<"No"<<endl;
break;
}
}
if(s[i]=='R')r++;
if(s[i]=='B')b++;
c++;
}
if(a!="N"){
if(r>0 && b>0 || r==0 && b==0)
cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
}
return 0;
}
169. Majority Element | 119. Pascal's Triangle II |
409. Longest Palindrome | 1574A - Regular Bracket Sequences |
1574B - Combinatorics Homework | 1567A - Domino Disaster |
1593A - Elections | 1607A - Linear Keyboard |
EQUALCOIN Equal Coins | XOREQN Xor Equation |
MAKEPAL Weird Palindrome Making | HILLSEQ Hill Sequence |
MAXBRIDGE Maximise the bridges | WLDRPL Wildcard Replacement |
1221. Split a String in Balanced Strings | 1002. Find Common Characters |
1602A - Two Subsequences | 1555A - PizzaForces |
1607B - Odd Grasshopper | 1084A - The Fair Nut and Elevator |
1440B - Sum of Medians | 1032A - Kitchen Utensils |
1501B - Napoleon Cake | 1584B - Coloring Rectangles |
1562B - Scenes From a Memory | 1521A - Nastia and Nearly Good Numbers |
208. Implement Trie | 1605B - Reverse Sort |
1607C - Minimum Extraction | 1604B - XOR Specia-LIS-t |