//cteam 039 #include #include #include #include #include using namespace std; int calculateNumber(vector & number,int total) { bool vypujcka = true, prenos = false; int i ; for ( i = total; i >= 0; --i) { bool current = number[i]; number[i] = (!current &&vypujcka) || (!current && prenos); bool vypujckaNext = (!current) && prenos; prenos = current && vypujcka; vypujcka = vypujckaNext; if (!vypujcka && !prenos) break; } bool flag = false; if ( i == -1 && vypujcka) { printf("1"); flag = true; } else if (i == -1 && prenos) { printf("11"); flag = true; } for (int i =0; i<= total;++i) { if ( flag || number[i] == 1) { printf("%d", (int) number[i]); flag = true; } } if (flag == false) printf("0"); printf("\n"); } int main(void) { vector cislo; char tmp; while (true) { for(int i = 0; ; ++i) { if (scanf("%c",&tmp) != 1) { calculateNumber(cislo, i-1); return 0; } if (tmp == '\n') { calculateNumber(cislo, i - 1); break; } cislo.insert(cislo.begin() + i, tmp - '0'); } } return 0; }