bitstringlistdisjointunionerdemo.java
来自「Java版的SAT求解器」· Java 代码 · 共 60 行
JAVA
60 行
package positronic.satisfiability.demos;
import java.util.List;
import positronic.satisfiability.bitstringlist.BitStringList;
import positronic.satisfiability.bitstringlist.BitStringListDisjointUnioner;
import positronic.satisfiability.bitstringlist.BitStringListFixer;
import positronic.satisfiability.bitstringlist.IBitStringList;
import positronic.satisfiability.elements.BooleanLiteral;
import positronic.satisfiability.elements.Conjunction;
import positronic.satisfiability.elements.IProblem;
import positronic.satisfiability.solutions.PartialSolution;
/**
* <p>Title: BitStringListUnionerDemo</p>
* <p>Description: TBS</p>
* <p>Copyright (c) 2005</p>
* <p>Company: Positronic Software</p>
* @author Kerry Michael Soileau
* @version 1.0
*/
public class BitStringListDisjointUnionerDemo /** @todo Test this thoroughly */
{
public static void main(String[] args) throws Exception
{
IBitStringList slm=new BitStringList("y",
new boolean[][]{
{true,false,false},
{true,true,false},
});
IProblem slmfix=new BitStringListFixer(slm);
IBitStringList bsl=new BitStringList("slist",
new boolean[][]{
{true,false,true},
{false,true,false},
});
IProblem bslfix=new BitStringListFixer(bsl);
IBitStringList target=new BitStringList("combined",
new boolean[4][3]);
IProblem problem=
new Conjunction(slmfix,bslfix,
new BitStringListDisjointUnioner(target,slm,bsl));
System.out.println(problem);
List s=PartialSolution.solveList(problem);
if(s!=null && s.size()>0)
{
BooleanLiteral.interpret(s);
System.out.println("slm= "+slm);
System.out.println("bsl= "+bsl);
System.out.println("target= "+target);
}
else
System.out.println("No solution.");
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?