10175102141 edited 3 年,8 月前

#include <iostream>

using namespace std;

int main()
{
    string s;
    int  a[1100];
    cin>>s;

    a[0] = 1;
    int i;
    for(i = 1; i < s.length(); i++){
        while(s[i] == s[i-1]){
            a[i] = 0;
            i++;
        }
        if(i<s.length()){
            if(s[i] == '0'){
                a[i] = -1;
            }
            if(s[i] == '1'){
                a[i] = 1;
            }
        }
    }
    if(s[i-1] == '0')a[i-1] = 0;
    else a[i-1] = -1;
    for(int j = 1;j<s.length()+1;j++){
        if(a[j] == 1 && a[j-1] == -1){
            a[j] = -1;
            a[j-1] = 0;
        }
        if(a[j] == -1 && a[j-1] == 1){
            a[j] = 1;
            a[j-1] = 0;
        }
    }
    cout<<s.length()+1<<endl;
    for(int j = 0;j<s.length();j++){
        cout<<a[j]<<" ";
    }

}

Comments