解いた問題

5/30/2012

SRM544 Div2 Medium

500

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




class BoardSplitting {
public:
  int minimumCuts(int dL, int dC, int aL)
  {
    vector<int> v;
    v.push_back(0);
    while (v.back() <= dL * dC) {
      v.push_back(v.back() + aL);
    }

    int ret = 0;
    for (int i = 0; i < (int)dC; ++i) {
      if (binary_search(v.begin(), v.end(), (i + 1) * dL)) ;
      else ++ret;
    }
    return ret;
  }
};