擅长:python、mysql、java
<p>我实际上认为图表是解决这个问题的合适结构。请注意
A和(E或C)<;==>;(A和E)或(A和C)。因此,我们可以用以下一组有向边来表示X=A和(E或C):</p>
<pre><code>A <- K1
E <- K1
A <- K2
C <- K2
K1 <- X
K2 <- X
</code></pre>
<p>本质上,我们只是分解语句的逻辑,并使用“虚拟”节点来表示and。在</p>
<p>假设我们以这种方式分解所有的逻辑语句(and的伪Ki节点,否则是有向边)。然后,我们可以将输入表示为DAG并递归遍历DAG。我认为下面的递归算法可以解决这个问题:</p>
<p>定义:<br/>
Node u-当前节点。<br/>
S-访问的节点集。<br/>
children(x)-返回x的外邻居</p>
<p>算法:</p>
^{pr2}$
<p>分析:
这是一个完全连续的算法(我认为)最多遍历每条边一次。在</p>