Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2014
397
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.78 KB | None | 0 0
  1. #include<iostream>
  2. #include<vector>
  3. #include<string>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     string input;
  10.     input.reserve(100000);
  11.  
  12.     while(!(cin >> input).eof())
  13.     {
  14.         ;
  15.     }
  16.  
  17.     vector<int> output;
  18.     output.reserve((input.length() / 3) + 1);
  19.  
  20.     int cnt = 0;
  21.     int data = 0;
  22.     string::reverse_iterator iter = input.rbegin();
  23.     while(iter != input.rend())
  24.     {
  25.         if((*iter) == '1')
  26.         {
  27.             data += 1 << cnt;
  28.         }
  29.  
  30.        
  31.         if(cnt >= 2)
  32.         {
  33.             cnt = 0;
  34.             output.push_back(data);
  35.             data = 0;
  36.         }
  37.         else
  38.         {
  39.             ++cnt;
  40.         }
  41.        
  42.         ++iter;
  43.     }
  44.  
  45.     if(data != 0)
  46.     {
  47.         output.push_back(data);
  48.     }
  49.  
  50.     vector<int>::reverse_iterator iter2 = output.rbegin();
  51.     while(iter2 != output.rend())
  52.     {
  53.         cout << (*iter2);
  54.         ++iter2;
  55.     }
  56.  
  57.     cout << endl;
  58.     output.clear();
  59.  
  60.     return 0;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement