# 尽量减少恶意软件的传播 II

<p>(这个问题与&nbsp;<em>尽量减少恶意软件的传播&nbsp;</em>是一样的，不同之处用粗体表示。)</p>

<p>在节点网络中，只有当&nbsp;<code>graph[i][j] = 1</code>&nbsp;时，每个节点&nbsp;<code>i</code>&nbsp;能够直接连接到另一个节点&nbsp;<code>j</code>。</p>

<p>一些节点&nbsp;<code>initial</code>&nbsp;最初被恶意软件感染。只要两个节点直接连接，且其中至少一个节点受到恶意软件的感染，那么两个节点都将被恶意软件感染。这种恶意软件的传播将继续，直到没有更多的节点可以被这种方式感染。</p>

<p>假设&nbsp;<code>M(initial)</code>&nbsp;是在恶意软件停止传播之后，整个网络中感染恶意软件的最终节点数。</p>

<p>我们可以从初始列表中删除一个节点，<strong>并完全移除该节点以及从该节点到任何其他节点的任何连接。</strong>如果移除这一节点将最小化&nbsp;<code>M(initial)</code>，&nbsp;则返回该节点。如果有多个节点满足条件，就返回索引最小的节点。</p>

<p>&nbsp;</p>

<ol>
</ol>

<p><strong>示例 1：</strong></p>

<pre><strong>输出：</strong>graph = [[1,1,0],[1,1,0],[0,0,1]], initial = [0,1]
<strong>输入：</strong>0
</pre>

<p><strong>示例 2：</strong></p>

<pre><strong>输入：</strong>graph = [[1,1,0],[1,1,1],[0,1,1]], initial = [0,1]
<strong>输出：</strong>1
</pre>

<p><strong>示例 3：</strong></p>

<pre><strong>输入：</strong>graph = [[1,1,0,0],[1,1,1,0],[0,1,1,1],[0,0,1,1]], initial = [0,1]
<strong>输出：</strong>1
</pre>

<p>&nbsp;</p>

<p><strong>提示：</strong></p>

<ol>
	<li><code>1 &lt; graph.length = graph[0].length &lt;= 300</code></li>
	<li><code>0 &lt;= graph[i][j] == graph[j][i] &lt;= 1</code></li>
	<li><code>graph[i][i] = 1</code></li>
	<li><code>1 &lt;= initial.length &lt; graph.length</code></li>
	<li><code>0 &lt;= initial[i] &lt; graph.length</code></li>
</ol>

<p>以下错误的选项是？</p>

## aop

### before

```cpp

```
### after

```cpp

```

## 答案

```cpp

```

## 选项


### A

```cpp

```

### B

```cpp

```

### C

```cpp

```
