1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
func maxValueSum(board [][]int) int {
m, n := len(board), len(board[0])
ans := -1 << 31
rows := make([]int, m)
cols := make([]int, n)
for i := range rows { rows[i] = i }
for i := range cols { cols[i] = i }
for r1 := 0; r1 < m; r1++ {
for r2 := r1+1; r2 < m; r2++ {
for r3 := r2+1; r3 < m; r3++ {
for c1 := 0; c1 < n; c1++ {
for c2 := c1+1; c2 < n; c2++ {
for c3 := c2+1; c3 < n; c3++ {
c := []int{c1, c2, c3}
perm := [][]int{{c[0],c[1],c[2]},{c[0],c[2],c[1]},{c[1],c[0],c[2]},{c[1],c[2],c[0]},{c[2],c[0],c[1]},{c[2],c[1],c[0]}}
r := []int{r1, r2, r3}
for _, p := range perm {
sum := 0
for i := 0; i < 3; i++ { sum += board[r[i]][p[i]] }
if sum > ans { ans = sum }
}
}
}
}
}
}
}
return ans
}
|