解いた問題

5/30/2012

SRM544 Div2 Medium

500

充分な長さを最初に作って、それを切断して作る。




  1. class BoardSplitting {  
  2. public:  
  3.   int minimumCuts(int dL, int dC, int aL)  
  4.   {  
  5.     vector<int> v;  
  6.     v.push_back(0);  
  7.     while (v.back() <= dL * dC) {  
  8.       v.push_back(v.back() + aL);  
  9.     }  
  10.   
  11.     int ret = 0;  
  12.     for (int i = 0; i < (int)dC; ++i) {  
  13.       if (binary_search(v.begin(), v.end(), (i + 1) * dL)) ;  
  14.       else ++ret;  
  15.     }  
  16.     return ret;  
  17.   }  
  18. };