0. Assignment Instructions
Before starting with your Java implementation, read the assignment instructions and grading rules on the course web page: https://user.it.uu.se/~pierref/courses/COCP/assignments/assignment5/assignment5.pdf .
Eternity
Solve the Eternity II problem.
Your task is to finish the implementation in Eternity.java:
Implement the filling of the table containing all the pieces and their rotations (TODO 1). You can check that your table is correctly constructed by running the test
testTableContent
from EternityTest.java.Implement the constraints of the model (TODO 2):
- place all the pieces
- allow only valid pieces
- place the gray sides on the edges of the board
Continue the implementation of the search. Currently, it uses the
and
combinator to branch on some of the variables from the problem. You need to continue its implementation in order to be sure that it branches on all of them (TODO 3).
Check that your implementation passes all the tests from EternityTest.java.
Before submitting, remember to fetch the latest changes from upstream (the MiniCP GitHub repository).
Note that the original tests of the MiniCP GitHub repository will be run.