concise C++ solution. nothing special.
\nclass Solution {\npublic:\n    int mx = 0;\n    int row = 0;\n    int col = 0;\n    unordered_set<int> v;\n    Solution(int n_rows, int n_cols) {\n        mx 
```\nclass Solution {\npublic:\n    int mx = 0;\n    int row = 0;\n    int col = 0;\n    unordered_set<int> v;\n    Solution(int n_rows, int n_cols) {\n        mx = n_rows * n_cols;\n        row = n_rows;\n        col = n_cols;\n    }\n    \n    vector<int> flip() {\n        if(v.size() == mx) return {};\n        int r = rand() % mx;\n        while(v.count(r)) {\n            r = (++r) %mx;\n        }\n        v.insert(r);\n        return {r / col, r % col };\n    }\n    \n    void reset() {\n        v = {};\n    }\n};\n```
[]