easy short clean code
\nclass Solution {\npublic:\n    int m, n, res;\n    long long func(const vector<vector<int>>& v, int c, const int&x, int bm) {\n        if (__builtin_popcount(
```\nclass Solution {\npublic:\n    int m, n, res;\n    long long func(const vector<vector<int>>& v, int c, const int&x, int bm) {\n        if (__builtin_popcount(bm) == x) {\n            int ans = m;\n            for (int i = 0;i < m;++i) {\n                for (int j = 0;j < n;++j) {\n                    if (v[i][j] == 1 && !(bm & (1 << j))) {\n                        --ans;\n                        break;\n                    }\n                }\n            }\n            return ans;\n        }\n        if (c == n) {\n            return LLONG_MIN;\n        }\n        return max(func(v, c + 1, x, bm), func(v, c + 1, x, bm | (1 << c)));\n    }\n    int maximumRows(vector<vector<int>>& v, int x) {\n        m = v.size(), n = v[0].size();\n        return func(v, 0, x, 0);\n    }\n};\n```
['Backtracking', 'C']