naturalnumbertable2fixer.java

来自「Java版的SAT求解器」· Java 代码 · 共 33 行

JAVA
33
字号
package positronic.satisfiability.naturalnumbertable;

import positronic.satisfiability.elements.Conjunction;
import positronic.satisfiability.elements.IProblem;
import positronic.satisfiability.elements.Problem;
import positronic.satisfiability.exceptions.NaturalNumberTable2FixerException;
import positronic.satisfiability.naturalnumber.NaturalNumberFixer;

public class NaturalNumberTable2Fixer extends Problem implements IProblem
{
	private static final long serialVersionUID = 1L;

	public NaturalNumberTable2Fixer(INaturalNumberTable2 A, 
			long[] rows
				,long[] columns
					,long[] entries) throws Exception
	{
		if(A==null)
			throw new NaturalNumberTable2FixerException("Null INaturalNumberTable2 passed to a constructor.");
		if(columns==null || rows==null || entries==null)
			throw new NaturalNumberTable2FixerException("Null long[] passed to a constructor.");
		IProblem result=null;
		for(int i=0;i<columns.length;i++)
		{
			result=new Conjunction(result,new NaturalNumberFixer(A.getColumn(i),columns[i]));
			result=new Conjunction(result,new NaturalNumberFixer(A.getRow(i),rows[i]));
			result=new Conjunction(result,new NaturalNumberFixer(A.getEntry(i),entries[i]));
		}
			
		this.setClauses(result.getClauses());
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?