aacord’s memo

abcを中心にpythonで解いた問題のメモ、整理をしています。緑になった。

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)