Very simple very fast C++
IntuitionWe can use brute force approach and check combinations (subsets) of people who tell the truth.ApproachTry out all subsets of the given set of people an
# Intuition
<!-- Describe your first thoughts on how to solve this problem. -->
We can use brute force approach and check combinations (subsets) of people who tell the truth.
# Approach
<!-- Describe your approach to solving the problem. -->
Try out all subsets of the given set of people and check whether chosen subset of truth tellers do not contains contradictory statements. 
# Complexity
- Time complexity:
<!-- Add your time complexity here, e.g. $$O(n)$$ -->
O(2 ^ n)
- Space complexity:
<!-- Add your space complexity here, e.g. $$O(n)$$ -->
O(n)
# Code
```cpp []
class Solution {

	bool verifyStatements(const vector<vector<int>>& statements, bitset<15> bs) {
		for (int i = 0; i < statements.size(); i++) {
			if (bs[i] == 1) {
				for (int j = 0; j < statements[i].size(); j++) {
					if (statements[i][j] == 1 && bs[j] == 0) {
						return false;
					}
					if (statements[i][j] == 0 && bs[j] == 1) {
						return false;
					}
				}
			}
		}
		return true;
	}


public:
	int maximumGood(vector<vector<int>>& statements) {
		int res = 0;
		const int lim = static_cast<int>(pow(2, statements.size()));
		for (int i = 1; i < lim; i++) {
			bitset<15>bs(i);
			if (bs.count() > res) {
				if (verifyStatements(statements, bs)) {
					res = bs.count();
				}
			}
		}
		return res;
	}
};
```
['C++']