How can I get all possible matrix of 0 and 1? For example:
My function is defined like
def matrix_combinations(m):
Where m is a matrix with only zeros
What I want is all possible matrix with 0 and 1 with the same dimensions as m
For example: m = [[0, 0, 0], [0, 0, 0]] The output should be a list of matrix like this:
[[[0, 0, 0], [0, 0, 0]],
[[0, 0, 0], [0, 0, 1]],
[[0, 0, 0], [0, 1, 0]],
[[0, 0, 0], [0, 1, 1]],
...
[[0, 1, 1], [1, 1, 1]],
[[1, 1, 1], [1, 1, 1]]]
I don't want to use package like itertools or numpy
The idea behind my implementation is that the shape of the array does not matter, you just need all the combinations of 1s and 0s, and to do that you just have to count in binary.
What we are doing is creating lists of binary numbers with the same size as the input matrix and then changing its shape to match the input matrix.
import numpy as np
def matrix_combinations(m):
bits = m.shape[0] * m.shape[1]
amount_numbers = 2**bits
ret = []
for i in range(amount_numbers):
num = [int(x) for x in bin(i)[2:]]
num = [0] * (bits - len(num)) + num
ret.append(np.reshape(num, m.shape).tolist())
return ret
I am using numpy because is really convinient to change shapes of arrays. If you don't want to use numpy, assuming your matrix si bidimensional, you can create your own reshape function quite easyly. The code would look like this:
def reshape(list, shape):
ret = []
for i in range(shape[0]):
row = []
for j in range(shape[1]):
row.append(list[j*i+i])
ret.append(row)
return ret
def matrix_combinations(m):
shape = (len(m),len(m[0]))
bits = shape[0] * shape[1]
amount_numbers = 2**bits
ret = []
for i in range(0,amount_numbers):
num = [int(x) for x in bin(i)[2:]]
num = [0] * (bits - len(num)) + num
ret.append(reshape(num, shape))
return ret
You first need the shape of your matrix - it would actually be best if you passed width
and height
rather than m
.
Numpy answer below, since it's an excellent tool and you should definitely learn it if your working with matrices, it'll be worth your while. Non-numpy answer first.
I'm going to create numbers in the range of 0
to 2**(width*height)
.
def matrix_combinations(m):
height = len(m)
width = len(m[0])
size = height * width
output_matrices = []
for matrix_values in range(2**(width*height)):
matrix = []
for y in range(height):
row = []
for x in range(width):
last_bit = matrix_values & 1
matrix_values >>= 1
row.append(last_bit)
matrix.append(row)
output_matrices.append(matrix)
return output_matrices
Now a numpy version.
def matrix_combinations(m):
indices = np.arange(m.size)
output_matrices = []
for value in range(2**m.size):
matrix_values = np.bitwise_and(value >> indices, 1)
matrix = matrix_values.reshape(m.shape)
output_matrices.append(matrix)
return output_matrices
More than the shape of the matrix is the number of elements that matters; if it has n = h*w
elements, then you'll have 2 ** n
output matrices, just all numbers from 0 to 2**n-1
written in base 2. Below is an implementation:
def resize(x, height, width):
return [
x[i * width : (i+1) * width]
for i in range(height)
]
def all_combinations(m):
flattened = [x for y in m for x in y]
n = len(flattened)
width = len(m[0])
height = len(m)
result = []
form = '{:0' + str(n) + 'b}'
for i in range(2 ** n):
s = form.format(i)
x = [int(c) for c in s]
result.append(resize(x, height, width))
return result
This is really just every binary mask in the source digits of m
, so I present a wildly-evil, string-based solution
def matrix_combinations(m):
target_length = str(m).count("0")
result_template = str(m).replace("0", "{}")
for numeric in range(1, 2**target_length):
yield eval(result_template.format(*list(bin(numeric)[2:].zfill(target_length))))
Example use
>>> _it = matrix_combinations([[0],[0]])
>>> list(_it)
[[[0], [1]], [[1], [0]], [[1], [1]]]
>>> _it = matrix_combinations([[0, 0],[0, 0]])
>>> list(_it)
[[[0, 0], [0, 1]], [[0, 0], [1, 0]], [[0, 0], [1, 1]], [[0, 1], [0, 0]], [[0, 1], [0, 1]], [[0, 1], [1, 0]], [[0, 1], [1, 1]], [[1, 0], [0, 0]], [[1, 0], [0, 1]], [[1, 0], [1, 0]], [[1, 0], [1, 1]], [[1, 1], [0, 0]], [[1, 1], [0, 1]], [[1, 1], [1, 0]], [[1, 1], [1, 1]]]
This works by
2**(the count of 0)
>>> str([[0, 0],[0, 0]]).replace("0", "{}") '[[{}, {}], [{}, {}]]'
>>> bin(4)[2:].zfill(4) '0100'
>>> '[[{}, {}], [{}, {}]]'.format(*list(bin(4)[2:].zfill(4))) '[[0, 1], [0, 0]]'
Do note that if you try to keep all of these in memory (for example with a list), your collection will fail (with any solution) around 25 zeros (5-10G of system memory and exponentially increasing).. however, if you process each individual list (which you can do with a generator like this one), it'll happily work with almost any number of zeros (my system started to get slow generating the initial lists at about 10**7 zeros)
>>> a = next(matrix_combinations([[0]*(10**7)]))
>>>
This solution can take an input matrix of any depth and dimensions. By using a recursive generator function, possible value ranges (in this case [0, 1]
) can be more easily traversed as part of the combinations building process:
def prod(d, c = []):
yield from ([c] if not d else [j for k in d[0] for j in prod(d[1:], c+[k])])
def matrix_combinations(m):
for i in prod([[0, 1] if not i else [*matrix_combinations(i)] for i in m]):
yield list(i)
print(list(matrix_combinations([[0, 0, 0], [0, 0, 0]])))
print(list(matrix_combinations([[0, [0, [0, 0]], 0], [0, 0, [0]]])))
Output:
[[[0, 0, 0], [0, 0, 0]], [[0, 0, 0], [0, 0, 1]], [[0, 0, 0], [0, 1, 0]], [[0, 0, 0], [0, 1, 1]], [[0, 0, 0], [1, 0, 0]], [[0, 0, 0], [1, 0, 1]], [[0, 0, 0], [1, 1, 0]], [[0, 0, 0], [1, 1, 1]], [[0, 0, 1], [0, 0, 0]], [[0, 0, 1], [0, 0, 1]], [[0, 0, 1], [0, 1, 0]], [[0, 0, 1], [0, 1, 1]], [[0, 0, 1], [1, 0, 0]], [[0, 0, 1], [1, 0, 1]], [[0, 0, 1], [1, 1, 0]], [[0, 0, 1], [1, 1, 1]], [[0, 1, 0], [0, 0, 0]], [[0, 1, 0], [0, 0, 1]], [[0, 1, 0], [0, 1, 0]], [[0, 1, 0], [0, 1, 1]], [[0, 1, 0], [1, 0, 0]], [[0, 1, 0], [1, 0, 1]], [[0, 1, 0], [1, 1, 0]], [[0, 1, 0], [1, 1, 1]], [[0, 1, 1], [0, 0, 0]], [[0, 1, 1], [0, 0, 1]], [[0, 1, 1], [0, 1, 0]], [[0, 1, 1], [0, 1, 1]], [[0, 1, 1], [1, 0, 0]], [[0, 1, 1], [1, 0, 1]], [[0, 1, 1], [1, 1, 0]], [[0, 1, 1], [1, 1, 1]], [[1, 0, 0], [0, 0, 0]], [[1, 0, 0], [0, 0, 1]], [[1, 0, 0], [0, 1, 0]], [[1, 0, 0], [0, 1, 1]], [[1, 0, 0], [1, 0, 0]], [[1, 0, 0], [1, 0, 1]], [[1, 0, 0], [1, 1, 0]], [[1, 0, 0], [1, 1, 1]], [[1, 0, 1], [0, 0, 0]], [[1, 0, 1], [0, 0, 1]], [[1, 0, 1], [0, 1, 0]], [[1, 0, 1], [0, 1, 1]], [[1, 0, 1], [1, 0, 0]], [[1, 0, 1], [1, 0, 1]], [[1, 0, 1], [1, 1, 0]], [[1, 0, 1], [1, 1, 1]], [[1, 1, 0], [0, 0, 0]], [[1, 1, 0], [0, 0, 1]], [[1, 1, 0], [0, 1, 0]], [[1, 1, 0], [0, 1, 1]], [[1, 1, 0], [1, 0, 0]], [[1, 1, 0], [1, 0, 1]], [[1, 1, 0], [1, 1, 0]], [[1, 1, 0], [1, 1, 1]], [[1, 1, 1], [0, 0, 0]], [[1, 1, 1], [0, 0, 1]], [[1, 1, 1], [0, 1, 0]], [[1, 1, 1], [0, 1, 1]], [[1, 1, 1], [1, 0, 0]], [[1, 1, 1], [1, 0, 1]], [[1, 1, 1], [1, 1, 0]], [[1, 1, 1], [1, 1, 1]]]
[[[0, [0, [0, 0]], 0], [0, 0, [0]]], [[0, [0, [0, 0]], 0], [0, 0, [1]]], [[0, [0, [0, 0]], 0], [0, 1, [0]]], [[0, [0, [0, 0]], 0], [0, 1, [1]]], [[0, [0, [0, 0]], 0], [1, 0, [0]]], [[0, [0, [0, 0]], 0], [1, 0, [1]]], [[0, [0, [0, 0]], 0], [1, 1, [0]]], [[0, [0, [0, 0]], 0], [1, 1, [1]]], [[0, [0, [0, 0]], 1], [0, 0, [0]]], [[0, [0, [0, 0]], 1], [0, 0, [1]]], [[0, [0, [0, 0]], 1], [0, 1, [0]]], [[0, [0, [0, 0]], 1], [0, 1, [1]]], [[0, [0, [0, 0]], 1], [1, 0, [0]]], [[0, [0, [0, 0]], 1], [1, 0, [1]]], [[0, [0, [0, 0]], 1], [1, 1, [0]]], [[0, [0, [0, 0]], 1], [1, 1, [1]]], [[0, [0, [0, 1]], 0], [0, 0, [0]]], [[0, [0, [0, 1]], 0], [0, 0, [1]]], [[0, [0, [0, 1]], 0], [0, 1, [0]]], [[0, [0, [0, 1]], 0], [0, 1, [1]]], [[0, [0, [0, 1]], 0], [1, 0, [0]]], [[0, [0, [0, 1]], 0], [1, 0, [1]]], [[0, [0, [0, 1]], 0], [1, 1, [0]]], [[0, [0, [0, 1]], 0], [1, 1, [1]]], [[0, [0, [0, 1]], 1], [0, 0, [0]]], [[0, [0, [0, 1]], 1], [0, 0, [1]]], [[0, [0, [0, 1]], 1], [0, 1, [0]]], [[0, [0, [0, 1]], 1], [0, 1, [1]]], [[0, [0, [0, 1]], 1], [1, 0, [0]]], [[0, [0, [0, 1]], 1], [1, 0, [1]]], [[0, [0, [0, 1]], 1], [1, 1, [0]]], [[0, [0, [0, 1]], 1], [1, 1, [1]]], [[0, [0, [1, 0]], 0], [0, 0, [0]]], [[0, [0, [1, 0]], 0], [0, 0, [1]]], [[0, [0, [1, 0]], 0], [0, 1, [0]]], [[0, [0, [1, 0]], 0], [0, 1, [1]]], [[0, [0, [1, 0]], 0], [1, 0, [0]]], [[0, [0, [1, 0]], 0], [1, 0, [1]]], [[0, [0, [1, 0]], 0], [1, 1, [0]]], [[0, [0, [1, 0]], 0], [1, 1, [1]]], [[0, [0, [1, 0]], 1], [0, 0, [0]]], [[0, [0, [1, 0]], 1], [0, 0, [1]]], [[0, [0, [1, 0]], 1], [0, 1, [0]]], [[0, [0, [1, 0]], 1], [0, 1, [1]]], [[0, [0, [1, 0]], 1], [1, 0, [0]]], [[0, [0, [1, 0]], 1], [1, 0, [1]]], [[0, [0, [1, 0]], 1], [1, 1, [0]]], [[0, [0, [1, 0]], 1], [1, 1, [1]]], [[0, [0, [1, 1]], 0], [0, 0, [0]]], [[0, [0, [1, 1]], 0], [0, 0, [1]]], [[0, [0, [1, 1]], 0], [0, 1, [0]]], [[0, [0, [1, 1]], 0], [0, 1, [1]]], [[0, [0, [1, 1]], 0], [1, 0, [0]]], [[0, [0, [1, 1]], 0], [1, 0, [1]]], [[0, [0, [1, 1]], 0], [1, 1, [0]]], [[0, [0, [1, 1]], 0], [1, 1, [1]]], [[0, [0, [1, 1]], 1], [0, 0, [0]]], [[0, [0, [1, 1]], 1], [0, 0, [1]]], [[0, [0, [1, 1]], 1], [0, 1, [0]]], [[0, [0, [1, 1]], 1], [0, 1, [1]]], [[0, [0, [1, 1]], 1], [1, 0, [0]]], [[0, [0, [1, 1]], 1], [1, 0, [1]]], [[0, [0, [1, 1]], 1], [1, 1, [0]]], [[0, [0, [1, 1]], 1], [1, 1, [1]]], [[0, [1, [0, 0]], 0], [0, 0, [0]]], [[0, [1, [0, 0]], 0], [0, 0, [1]]], [[0, [1, [0, 0]], 0], [0, 1, [0]]], [[0, [1, [0, 0]], 0], [0, 1, [1]]], [[0, [1, [0, 0]], 0], [1, 0, [0]]], [[0, [1, [0, 0]], 0], [1, 0, [1]]], [[0, [1, [0, 0]], 0], [1, 1, [0]]], [[0, [1, [0, 0]], 0], [1, 1, [1]]], [[0, [1, [0, 0]], 1], [0, 0, [0]]], [[0, [1, [0, 0]], 1], [0, 0, [1]]], [[0, [1, [0, 0]], 1], [0, 1, [0]]], [[0, [1, [0, 0]], 1], [0, 1, [1]]], [[0, [1, [0, 0]], 1], [1, 0, [0]]], [[0, [1, [0, 0]], 1], [1, 0, [1]]], [[0, [1, [0, 0]], 1], [1, 1, [0]]], [[0, [1, [0, 0]], 1], [1, 1, [1]]], [[0, [1, [0, 1]], 0], [0, 0, [0]]], [[0, [1, [0, 1]], 0], [0, 0, [1]]], [[0, [1, [0, 1]], 0], [0, 1, [0]]], [[0, [1, [0, 1]], 0], [0, 1, [1]]], [[0, [1, [0, 1]], 0], [1, 0, [0]]], [[0, [1, [0, 1]], 0], [1, 0, [1]]], [[0, [1, [0, 1]], 0], [1, 1, [0]]], [[0, [1, [0, 1]], 0], [1, 1, [1]]], [[0, [1, [0, 1]], 1], [0, 0, [0]]], [[0, [1, [0, 1]], 1], [0, 0, [1]]], [[0, [1, [0, 1]], 1], [0, 1, [0]]], [[0, [1, [0, 1]], 1], [0, 1, [1]]], [[0, [1, [0, 1]], 1], [1, 0, [0]]], [[0, [1, [0, 1]], 1], [1, 0, [1]]], [[0, [1, [0, 1]], 1], [1, 1, [0]]], [[0, [1, [0, 1]], 1], [1, 1, [1]]], [[0, [1, [1, 0]], 0], [0, 0, [0]]], [[0, [1, [1, 0]], 0], [0, 0, [1]]], [[0, [1, [1, 0]], 0], [0, 1, [0]]], [[0, [1, [1, 0]], 0], [0, 1, [1]]], [[0, [1, [1, 0]], 0], [1, 0, [0]]], [[0, [1, [1, 0]], 0], [1, 0, [1]]], [[0, [1, [1, 0]], 0], [1, 1, [0]]], [[0, [1, [1, 0]], 0], [1, 1, [1]]], [[0, [1, [1, 0]], 1], [0, 0, [0]]], [[0, [1, [1, 0]], 1], [0, 0, [1]]], [[0, [1, [1, 0]], 1], [0, 1, [0]]], [[0, [1, [1, 0]], 1], [0, 1, [1]]], [[0, [1, [1, 0]], 1], [1, 0, [0]]], [[0, [1, [1, 0]], 1], [1, 0, [1]]], [[0, [1, [1, 0]], 1], [1, 1, [0]]], [[0, [1, [1, 0]], 1], [1, 1, [1]]], [[0, [1, [1, 1]], 0], [0, 0, [0]]], [[0, [1, [1, 1]], 0], [0, 0, [1]]], [[0, [1, [1, 1]], 0], [0, 1, [0]]], [[0, [1, [1, 1]], 0], [0, 1, [1]]], [[0, [1, [1, 1]], 0], [1, 0, [0]]], [[0, [1, [1, 1]], 0], [1, 0, [1]]], [[0, [1, [1, 1]], 0], [1, 1, [0]]], [[0, [1, [1, 1]], 0], [1, 1, [1]]], [[0, [1, [1, 1]], 1], [0, 0, [0]]], [[0, [1, [1, 1]], 1], [0, 0, [1]]], [[0, [1, [1, 1]], 1], [0, 1, [0]]], [[0, [1, [1, 1]], 1], [0, 1, [1]]], [[0, [1, [1, 1]], 1], [1, 0, [0]]], [[0, [1, [1, 1]], 1], [1, 0, [1]]], [[0, [1, [1, 1]], 1], [1, 1, [0]]], [[0, [1, [1, 1]], 1], [1, 1, [1]]], [[1, [0, [0, 0]], 0], [0, 0, [0]]], [[1, [0, [0, 0]], 0], [0, 0, [1]]], [[1, [0, [0, 0]], 0], [0, 1, [0]]], [[1, [0, [0, 0]], 0], [0, 1, [1]]], [[1, [0, [0, 0]], 0], [1, 0, [0]]], [[1, [0, [0, 0]], 0], [1, 0, [1]]], [[1, [0, [0, 0]], 0], [1, 1, [0]]], [[1, [0, [0, 0]], 0], [1, 1, [1]]], [[1, [0, [0, 0]], 1], [0, 0, [0]]], [[1, [0, [0, 0]], 1], [0, 0, [1]]], [[1, [0, [0, 0]], 1], [0, 1, [0]]], [[1, [0, [0, 0]], 1], [0, 1, [1]]], [[1, [0, [0, 0]], 1], [1, 0, [0]]], [[1, [0, [0, 0]], 1], [1, 0, [1]]], [[1, [0, [0, 0]], 1], [1, 1, [0]]], [[1, [0, [0, 0]], 1], [1, 1, [1]]], [[1, [0, [0, 1]], 0], [0, 0, [0]]], [[1, [0, [0, 1]], 0], [0, 0, [1]]], [[1, [0, [0, 1]], 0], [0, 1, [0]]], [[1, [0, [0, 1]], 0], [0, 1, [1]]], [[1, [0, [0, 1]], 0], [1, 0, [0]]], [[1, [0, [0, 1]], 0], [1, 0, [1]]], [[1, [0, [0, 1]], 0], [1, 1, [0]]], [[1, [0, [0, 1]], 0], [1, 1, [1]]], [[1, [0, [0, 1]], 1], [0, 0, [0]]], [[1, [0, [0, 1]], 1], [0, 0, [1]]], [[1, [0, [0, 1]], 1], [0, 1, [0]]], [[1, [0, [0, 1]], 1], [0, 1, [1]]], [[1, [0, [0, 1]], 1], [1, 0, [0]]], [[1, [0, [0, 1]], 1], [1, 0, [1]]], [[1, [0, [0, 1]], 1], [1, 1, [0]]], [[1, [0, [0, 1]], 1], [1, 1, [1]]], [[1, [0, [1, 0]], 0], [0, 0, [0]]], [[1, [0, [1, 0]], 0], [0, 0, [1]]], [[1, [0, [1, 0]], 0], [0, 1, [0]]], [[1, [0, [1, 0]], 0], [0, 1, [1]]], [[1, [0, [1, 0]], 0], [1, 0, [0]]], [[1, [0, [1, 0]], 0], [1, 0, [1]]], [[1, [0, [1, 0]], 0], [1, 1, [0]]], [[1, [0, [1, 0]], 0], [1, 1, [1]]], [[1, [0, [1, 0]], 1], [0, 0, [0]]], [[1, [0, [1, 0]], 1], [0, 0, [1]]], [[1, [0, [1, 0]], 1], [0, 1, [0]]], [[1, [0, [1, 0]], 1], [0, 1, [1]]], [[1, [0, [1, 0]], 1], [1, 0, [0]]], [[1, [0, [1, 0]], 1], [1, 0, [1]]], [[1, [0, [1, 0]], 1], [1, 1, [0]]], [[1, [0, [1, 0]], 1], [1, 1, [1]]], [[1, [0, [1, 1]], 0], [0, 0, [0]]], [[1, [0, [1, 1]], 0], [0, 0, [1]]], [[1, [0, [1, 1]], 0], [0, 1, [0]]], [[1, [0, [1, 1]], 0], [0, 1, [1]]], [[1, [0, [1, 1]], 0], [1, 0, [0]]], [[1, [0, [1, 1]], 0], [1, 0, [1]]], [[1, [0, [1, 1]], 0], [1, 1, [0]]], [[1, [0, [1, 1]], 0], [1, 1, [1]]], [[1, [0, [1, 1]], 1], [0, 0, [0]]], [[1, [0, [1, 1]], 1], [0, 0, [1]]], [[1, [0, [1, 1]], 1], [0, 1, [0]]], [[1, [0, [1, 1]], 1], [0, 1, [1]]], [[1, [0, [1, 1]], 1], [1, 0, [0]]], [[1, [0, [1, 1]], 1], [1, 0, [1]]], [[1, [0, [1, 1]], 1], [1, 1, [0]]], [[1, [0, [1, 1]], 1], [1, 1, [1]]], [[1, [1, [0, 0]], 0], [0, 0, [0]]], [[1, [1, [0, 0]], 0], [0, 0, [1]]], [[1, [1, [0, 0]], 0], [0, 1, [0]]], [[1, [1, [0, 0]], 0], [0, 1, [1]]], [[1, [1, [0, 0]], 0], [1, 0, [0]]], [[1, [1, [0, 0]], 0], [1, 0, [1]]], [[1, [1, [0, 0]], 0], [1, 1, [0]]], [[1, [1, [0, 0]], 0], [1, 1, [1]]], [[1, [1, [0, 0]], 1], [0, 0, [0]]], [[1, [1, [0, 0]], 1], [0, 0, [1]]], [[1, [1, [0, 0]], 1], [0, 1, [0]]], [[1, [1, [0, 0]], 1], [0, 1, [1]]], [[1, [1, [0, 0]], 1], [1, 0, [0]]], [[1, [1, [0, 0]], 1], [1, 0, [1]]], [[1, [1, [0, 0]], 1], [1, 1, [0]]], [[1, [1, [0, 0]], 1], [1, 1, [1]]], [[1, [1, [0, 1]], 0], [0, 0, [0]]], [[1, [1, [0, 1]], 0], [0, 0, [1]]], [[1, [1, [0, 1]], 0], [0, 1, [0]]], [[1, [1, [0, 1]], 0], [0, 1, [1]]], [[1, [1, [0, 1]], 0], [1, 0, [0]]], [[1, [1, [0, 1]], 0], [1, 0, [1]]], [[1, [1, [0, 1]], 0], [1, 1, [0]]], [[1, [1, [0, 1]], 0], [1, 1, [1]]], [[1, [1, [0, 1]], 1], [0, 0, [0]]], [[1, [1, [0, 1]], 1], [0, 0, [1]]], [[1, [1, [0, 1]], 1], [0, 1, [0]]], [[1, [1, [0, 1]], 1], [0, 1, [1]]], [[1, [1, [0, 1]], 1], [1, 0, [0]]], [[1, [1, [0, 1]], 1], [1, 0, [1]]], [[1, [1, [0, 1]], 1], [1, 1, [0]]], [[1, [1, [0, 1]], 1], [1, 1, [1]]], [[1, [1, [1, 0]], 0], [0, 0, [0]]], [[1, [1, [1, 0]], 0], [0, 0, [1]]], [[1, [1, [1, 0]], 0], [0, 1, [0]]], [[1, [1, [1, 0]], 0], [0, 1, [1]]], [[1, [1, [1, 0]], 0], [1, 0, [0]]], [[1, [1, [1, 0]], 0], [1, 0, [1]]], [[1, [1, [1, 0]], 0], [1, 1, [0]]], [[1, [1, [1, 0]], 0], [1, 1, [1]]], [[1, [1, [1, 0]], 1], [0, 0, [0]]], [[1, [1, [1, 0]], 1], [0, 0, [1]]], [[1, [1, [1, 0]], 1], [0, 1, [0]]], [[1, [1, [1, 0]], 1], [0, 1, [1]]], [[1, [1, [1, 0]], 1], [1, 0, [0]]], [[1, [1, [1, 0]], 1], [1, 0, [1]]], [[1, [1, [1, 0]], 1], [1, 1, [0]]], [[1, [1, [1, 0]], 1], [1, 1, [1]]], [[1, [1, [1, 1]], 0], [0, 0, [0]]], [[1, [1, [1, 1]], 0], [0, 0, [1]]], [[1, [1, [1, 1]], 0], [0, 1, [0]]], [[1, [1, [1, 1]], 0], [0, 1, [1]]], [[1, [1, [1, 1]], 0], [1, 0, [0]]], [[1, [1, [1, 1]], 0], [1, 0, [1]]], [[1, [1, [1, 1]], 0], [1, 1, [0]]], [[1, [1, [1, 1]], 0], [1, 1, [1]]], [[1, [1, [1, 1]], 1], [0, 0, [0]]], [[1, [1, [1, 1]], 1], [0, 0, [1]]], [[1, [1, [1, 1]], 1], [0, 1, [0]]], [[1, [1, [1, 1]], 1], [0, 1, [1]]], [[1, [1, [1, 1]], 1], [1, 0, [0]]], [[1, [1, [1, 1]], 1], [1, 0, [1]]], [[1, [1, [1, 1]], 1], [1, 1, [0]]], [[1, [1, [1, 1]], 1], [1, 1, [1]]]]
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.