#include #include using namespace std; //char buff[1000005]; inline char opacne(char znak) { if(znak == '0') return '1'; return '0'; } void Zpracuj(string radek) { char akt = '0'; int index = radek.length() - 1; while(index >= 0 && radek[index] != akt) { radek[index] = opacne(radek[index]); index--; akt = opacne(akt); } //printf("[index=%d z %d] ... ", index, radek.length() - 1); if(index >= 0) { radek[index] = opacne(radek[index]); index = 0; while(index < radek.length() && radek[index] == '0') { index++; } if(index == radek.length()) { printf("0"); } else { for(int i=index; i> radek) { //cout << radek << endl; Zpracuj(radek); } return 0; }