1601. 最多可达成的换楼请求数目

1601. 最多可达成的换楼请求数目

数据范围是16,也能暴力

class Solution {
 public:
  int maximumRequests(int n, vector>& rs) {
    int res = 0,m=rs.size();
    for (int mask = 0; mask < (1 << m); mask++) {
      vector dep(n, 0);
      int cnt = 0;
      for (int i = 0; i < m; i++) {
        if ((mask >> i) & 1) dep[rs[i][0]]--, dep[rs[i][1]]++, cnt++;
      }
      bool suc = true;
      for (auto i : dep)
        if (i != 0) suc = false;
      if (suc) res = max(res, cnt);
    }
    return res;
  }
};

你可能感兴趣的:(1601. 最多可达成的换楼请求数目)