题解 | 01串题
01串题
https://www.nowcoder.com/practice/05b85386f9ac4361b067d13d6095e457
分类讨论一下 最后要求的长度为x的01序列一定是010101.. 或者10101010.. 这样01相间,而且0和1至少都要有x/2个,那么多余的部分都应该被操作删除了,对于每一次删除是删除两个一样的字符所以把多余的0和1都放在一起就行了,还要保证多余的0和1都是偶数就行了
void solve(){
int a,b,x;
cin>>a>>b>>x;
if(min(a,b)<x/2){
cout<<-1<<'\n';
}else{
if((a-x/2)%2==0&&(b-x/2)%2==0){
for(int i=1;i<=x/2;i++){
cout<<"01";
a--;
b--;
}
for(int i=1;i<=a;i++){
cout<<'0';
}
for(int j=1;j<=b;j++){
cout<<'1';
}
cout<<'\n';
}else{
cout<<-1<<'\n';
}
}
}

