解いた問題

5/31/2012

SRM409 Div2 Easy

250

やるだけ



  1. class Stick {  
  2. public:  
  3.   int pieces(int x)  
  4.   {  
  5.     int ret = 0;  
  6.   
  7.     vector<int> v;  
  8.     v.push_back(64);  
  9.     while (v.back()) {  
  10.       v.push_back(v.back() / 2);  
  11.     }  
  12.   
  13.     for (int i = 0; x && i < (int)v.size(); ++i) {  
  14.       if (x >= v[i]) x -= v[i], ++ret;  
  15.     }  
  16.   
  17.     return ret;  
  18.   }  
  19. };