bitstringlistdisjointer.java
来自「Java版的SAT求解器」· Java 代码 · 共 38 行
JAVA
38 行
/*
* BitStringListDisjointer.java 1.0 05/12/09
*
* Copyright 2005 Positronic Software.
*
*
*/
package positronic.satisfiability.bitstringlist;
import positronic.satisfiability.elements.*;
import positronic.satisfiability.exceptions.*;
public class BitStringListDisjointer extends Problem implements IProblem
{
private static final long serialVersionUID = 1L;
//Ensures that every IBitString in A is also in B
public BitStringListDisjointer(IBitStringList A, IBitStringList B) throws Exception
{
if(A==null)
throw new BitStringListDisjointerException("Passed a null IBitStringList to constructor.");
if(B==null)
throw new BitStringListDisjointerException("Passed a null IBitStringList to constructor.");
if(A.size()==0 || B.size()==0)
this.setClauses(Problem.trivialProblem().getClauses());
else
{
IProblem res[]=new IProblem[A.size()+B.size()];
for(int i=0;i<A.size();i++)
res[i]=new BitStringListNonmembershipper(A.getBitString(i),B);
this.setClauses(new Conjunction(res).getClauses());
for(int i=0;i<B.size();i++)
res[i]=new BitStringListNonmembershipper(B.getBitString(i),A);
this.setClauses(new Conjunction(res).getClauses());
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?