063 - Monochromatic Subgrid(★4)(python)
bit全探索、横の列を固定して、縦ごとに見る、defaultdict の操作、などのメモ
import sys input = sys.stdin.readline from collections import deque, defaultdict h,w = map(int,input().split()) s = [list(map(int,input().split())) for i in range(h)] ans = 0 for i in range(1,2**h): chk = [] ok = defaultdict(int) ok[-1] = 1 cnt = 0 for j in range(h): if i>>j&1 == 1: chk.append(j) cnt += 1 for x in range(w): ss = s[chk[0]][x] flag = True for j in chk: if s[j][x] != ss: flag = False break if flag: ok[ss] += cnt ans = max(ans, max(ok.values())) print(ans)