我正在做一个项目,我必须读取一个表示图形的文件。我使输入文件看起来像这样:
b c
a c d
a b
b
所以每一行都代表一个节点。例如,第一行是连接到b 和c 的节点a,第二行是连接到a、c 和d 的节点b。所以我不确定从哪里开始。我知道我们需要一堆 if 和 else 语句,以便共享一条边的两个节点不能具有相同的颜色,并且每个节点应该至少具有一种颜色。但是,我怎样才能创建节点变量本身,因为文本文件可以包含任意数量的节点。我知道我必须为一堆 if 和 else 语句做些什么,但我不知道如何使用它来将其简化为 miniSAT 格式,例如:
p cnf 3 3
1 -2 0
2 -3 0
-1 3 0
其中第一个“3”代表变量的数量,第二个 3 代表子句的数量。其他行由不同的变量组成,每个不同的数字都是它自己的变量,如果它是正的,那么它是真的,否则是假的