bitstringlistissetter.java
来自「Java版的SAT求解器」· Java 代码 · 共 55 行
JAVA
55 行
/*
* BitStringListIsSetter.java 1.0 05/12/17
*
* Copyright 2005 Positronic Software.
*
*
*/
/**
* A class which imposes the restriction of being a Set on a BitStringList.
* That is, that the BitStringList has no repetition of members; each member
* appears only once in the BitStringList.
*
* @author Kerry Michael Soileau
* <blockquote><pre>
* ksoileau@yahoo.com
* http://web.wt.net/~ksoileau/index.htm
* </pre></blockquote>
* @version 1.0, 05/12/17
* @see BitStringUnequalizer
* @see IBitString
* @see Conjunction
* @see IProblem
* @see Problem
*/
package positronic.satisfiability.bitstringlist;
import positronic.satisfiability.bitstring.BitStringUnequalizer;
import positronic.satisfiability.bitstring.IBitString;
import positronic.satisfiability.elements.Conjunction;
import positronic.satisfiability.elements.IClause;
import positronic.satisfiability.elements.IProblem;
import positronic.satisfiability.elements.Problem;
public class BitStringListIsSetter extends Problem implements IProblem
{
private static final long serialVersionUID = 1L;
public BitStringListIsSetter(IBitStringList list) throws Exception
{
IProblem p=null;
for(int i=0;i<list.size();i++)
{
IBitString b=list.getBitString(i);
for(int j=i+1;j<list.size();j++)
p=new Conjunction(p,new BitStringUnequalizer(b,list.getBitString(j)));
}
if(p==null)
this.setClauses((IClause[])null);
else
this.setClauses(p.getClauses());
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?