擅长:python、mysql、java
<p>这并不能解决我的问题,只是想发布一个我正在玩的想法。代码如下:</p>
<pre class="lang-py prettyprint-override"><code>import numpy
# Generate the map
size = 15
test_mat = np.zeros((size, size))
test_mat[(4, 5, 5, 6), (5, 4, 6, 5)] = 1
test_mat[(9, 9, 9, 10, 10, 11, 11), (8, 9, 10, 8, 10, 8, 10)] = 1
# Find a solution by applying a convulsion
conv_mat = np.array([
[0, 1, 0],
[1, 1, 1],
[0, 1, 0]])
conv = convolve(test_mat, conv_mat)
conv[test_mat > 0] = 0
conv[conv > 0] = 2
conv[test_mat > 0] = 1 # Mark the resources as 1
</code></pre>
<p>使用此代码可以获得:</p>
<p><a href="https://i.stack.imgur.com/PaT93.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/PaT93.png" alt="enter image description here"/></a></p>
<p>但是,正如您所看到的,当存在差距时,这并没有找到正确的解决方案</p>