Skip to content

Commit 306bd51

Browse files
committed
fix
1 parent f4a13c4 commit 306bd51

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/Solver.cpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -210,12 +210,16 @@ void Solver::solveChokudaiSearch(const State& ini, const size_t maxTime) const {
210210
best = v;
211211
best->write(dbg, t + 1);
212212
util::log("Step...", t + 1);
213-
if (ma >= N) goto END;
214213
}
215214
auto&& nextCornerState = v->state.getNextCornerPriSegState(rotatePieces, minimumAngle);
216215
for (auto&& sta : nextCornerState) {
217216
heap[t + 1].emplace(std::make_shared<Context>(sta, v));
218217
}
218+
if (t + 1 >= N) {
219+
ma = t + 1;
220+
best = heap[t + 1].top();
221+
goto END;
222+
}
219223
}
220224
}
221225
}

src/State.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ bool State::canPut(const Polygon& piece) const {
6767
}
6868

6969
bool State::canUseFrame(const Polygon& nextFrame, long double minimumAngle) const {
70-
if (nextFrame.inners().size() != 1) return false;
70+
if (nextFrame.inners().size() > frame.inners().size()) return false;
7171
for (auto&& hole : nextFrame.inners()) {
7272
for (size_t i = 0; i < hole.size() - 1; ++i) {
7373
auto&& cor = get_corner(hole, i);

0 commit comments

Comments
 (0)