Maximum Good People Based on Statements LeetCode solution in Python
1class Solution:2def maximumGood(self, S):3n, ans = len(S), 045def valid(cur):6for i in range(n):7if cur[i]:8for j in range(n):9if S[i][j] != 2 and S[i][j] != cur[j]:10return False11return True1213def dfs(cur, i, cnt):14nonlocal ans15if i == n:16if valid(cur):17ans = max(ans, cnt)18return19cur.append(0)20dfs(cur, i + 1, cnt)21cur[-1] = 122dfs(cur, i + 1, cnt + 1)23cur.pop()2425dfs([], 0, 0)26return ans