CF1988B 题解
shiziyu111 · · 题解
题目大意
给定一个长度为
记
- 如果
c_0\ge c_1 ,则将区间合并成0 。 - 如果
c_0<c_1 ,则将区间合并成1 。
问能否使
分析
如果要使
我们再分析假如在合并后 No。假如合并后 Yes。
在知道这些后,就到了我们喜爱的:
我爱打代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int T;
cin>>T;
for(int i=1;i<=T;i++)
{
int n,c0=0,c1=0;;
char a[200005];
cin>>n;
cin>>a;
for(int i=0;i<n;i++)
{
if(a[i]=='1')
{
c1++;
}
else
{
if(a[i-1]=='1'||i==0)
{
c0++;
}
}
}
if(c0>=c1)
{
cout<<"No"<<endl;
}
else
{
cout<<"Yes"<<endl;
}
}
return 0;
}
都看到这里了,还不点个赞。