分类讨论一下 最后要求的长度为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';
        }
    }
}