示例#1
0
 bool go(int i, int j, vector<vector<char>> &board) {
     if (i > 8) return true;
     if (board[i][j] != '.') {
         next(i, j);
         return go(i, j, board);
     }
     int i0 = i, j0 = j;
     next(i, j);
     for (int k=0; k<9; k++) {
         if (check(i0, j0, k)) {
             fill(i0, j0, k);
             if (go(i, j, board)) {
                 board[i0][j0] = k+'1';
                 return true;
             }
             unfill(i0, j0, k);
         }
     }
     return false;
 }
示例#2
0
文件: Puzzle.hpp 项目: khursani8/poly
inline void Puzzle::unplaceVolume(const Image* image)
{
    unfill(image);
    --pieceFill;
    volumeMonitor.unplace(image->layout.size());
}