Я попытался следовать примеру решателя SlitherLink C ++ C ++ и некоторых онлайн-ресурсах для создания решателя SlitherLink в Java.
К сожалению, я продолжаю получать невозможный результат.
Я должен неправильно понимать, как использовать какую-либо руководство. /> Вот мой класс решателя: < /p>
package ortools;
import com.google.ortools.Loader;
import com.google.ortools.sat.BoolVar;
import com.google.ortools.sat.CircuitConstraint;
import com.google.ortools.sat.CpModel;
import com.google.ortools.sat.CpSolver;
import com.google.ortools.sat.CpSolverStatus;
import com.google.ortools.sat.LinearExpr;
/**
* This implements the following simple slitherlink:
* +-+-+
* | |3|
* +-+-+
* |3| |
* +-+-+
* NOTE: This slitherlink has multiple solutions. That is
* intentional so we can ensure the solver identifies such
* situations.
*/
public class SlitherlinkTest {
public void run() {
Loader.loadNativeLibraries();
CpModel model = new CpModel();
// Create the circuit
CircuitConstraint circuit = model.addCircuit();
// Create an array to hold the lines
// The entry at [i,j] holds a line from point i to point j
int numPoints = 3*3;
BoolVar[][] lines = new BoolVar[numPoints][numPoints];
// Loop over the points
for( int row=0; row
Подробнее здесь: https://stackoverflow.com/questions/797 ... nk-puzzles
Написание решателя CP-SAT для SlitherLink Buzzles ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение