naturalnumbertablefixer.java
来自「Java版的SAT求解器」· Java 代码 · 共 31 行
JAVA
31 行
package positronic.satisfiability.naturalnumbertable;
import positronic.satisfiability.elements.Conjunction;
import positronic.satisfiability.elements.IProblem;
import positronic.satisfiability.elements.Problem;
import positronic.satisfiability.exceptions.NaturalNumberTableException;
import positronic.satisfiability.exceptions.NaturalNumberTableFixerException;
import positronic.satisfiability.naturalnumber.NaturalNumberFixer;
import positronic.satisfiability.naturalnumbertable.INaturalNumberTable;
public class NaturalNumberTableFixer extends Problem implements IProblem
{
private static final long serialVersionUID = 1L;
public NaturalNumberTableFixer(INaturalNumberTable A, long[][] data) throws NaturalNumberTableException, Exception
{
if(A==null)
throw new NaturalNumberTableFixerException("Null INaturalNumberTable passed to a constructor.");
if(data==null)
throw new NaturalNumberTableFixerException("Null long[][] passed to a constructor.");
if(data==null || data.length!=A.getRows() || data[0].length!=A.getColumns())
throw new NaturalNumberTableFixerException("Size mismatch between long[][] and INaturalNumberTable passed to a constructor.");
IProblem result=null;
for(int i=0;i<A.getRows();i++)
for(int j=0;j<A.getColumns();j++)
result=new Conjunction(result,new NaturalNumberFixer(A.get(i,j),data[i][j]));
this.setClauses(result.getClauses());
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?