题解
题目这里给出一种解,就是让最小值和最大值不相等,这样蓝色的范围永远不可能为0.
然后我们再随便挑一个不是最小最大值的元素作为红色,红色的最小最大值都是自身,它的范围就是0.
这样蓝色和红色永远不会冲突,且保证红蓝同时存在(n>=3)
证明
那么这个解是否是正解呢?即是否当最小值等于最大值时,一定不合法.
答案是一定的,因为如果当最小值=最大值时(范围为0),中间的部分一定是相同的,范围一定为0.
code
#include<bits/stdc++.h>
using namespace std;
int t;
const int N=100;
int a[N];
void solve()
{
int n;cin>>n;
for(int i=0;i<n;i++)cin>>a[i];
if(a[0]==a[n-1])cout<<"NO"<<endl;
else
{
cout<<"YES"<<endl;
string s(n,'R');
s[1]='B';
cout<<s<<endl;
}
}
int main()
{
cin>>t;
while(t--)
{
solve();
}
return 0;
}