SHOW:
|
|
- or go back to the newest paste.
| 1 | NM = [0, 0] | |
| 2 | count = 0 | |
| 3 | for i in input().split(): | |
| 4 | if count == 0: | |
| 5 | NM[0] = int(i) | |
| 6 | count += 1 | |
| 7 | else: | |
| 8 | NM[1] = int(i) | |
| 9 | - | l = [0 for _ in range(31)] |
| 9 | + | l = ['0' for _ in range(31)] |
| 10 | r = 100000 | |
| 11 | def pattern(t): | |
| 12 | p1 = list("WBWBWBWB")
| |
| 13 | p2 = list("BWBWBWBW")
| |
| 14 | r1 = 0 | |
| 15 | r2 = 0 | |
| 16 | for i in range(2): | |
| 17 | for j in range(0, 7, 2): | |
| 18 | if i == 0: | |
| 19 | for k in range(8): | |
| 20 | if p1[k] != list(t[j])[k]: | |
| 21 | r1 += 1 | |
| 22 | else: | |
| 23 | for k in range(8): | |
| 24 | if p2[k] != list(t[j])[k]: | |
| 25 | r2 += 1 | |
| 26 | for j in range(1, 8, 2): | |
| 27 | if i == 0: | |
| 28 | for k in range(8): | |
| 29 | if p2[k] != list(t[j])[k]: | |
| 30 | r1 += 1 | |
| 31 | else: | |
| 32 | for k in range(8): | |
| 33 | if p1[k] != list(t[j])[k]: | |
| 34 | r2 += 1 | |
| 35 | if r1 > r2: | |
| 36 | return r2 | |
| 37 | else: | |
| 38 | return r1 | |
| 39 | for i in range(NM[0]): | |
| 40 | l[i] = input() | |
| 41 | for i in range(NM[1]-7): | |
| 42 | for j in range(NM[0]-7): | |
| 43 | - | t = [0 for _ in range(8)] |
| 43 | + | t = ['0' for _ in range(8)] |
| 44 | for k in range(j, j+8): | |
| 45 | t[k-j] = l[k][i:i+8] | |
| 46 | if pattern(t) < r: | |
| 47 | r = pattern(t) | |
| 48 | print(r) |