Class Tree Problem description ================ The blocked N-queens problem is a variant of the N-queens problem. In the blocked N-queens problem we have an N X N board and N queens. Each square on the board can hold at most one queen. Some squares on the board are blocked and cannot hold any queen. A conflict arises when any two queens are assigned to the same row, column or diagonal. A blocked N-queens is an assignment of the N queens to the non-blocked squares of the board in a conflict-free manner. The input of the blocked N-queens problem specifies the blocked squares on the board, and the number N of queens. Input Format ================ The input of the blocked N-queens problem specifies the blocked squares on the board, and the number N of queens. Input data are stored in a plain text file, The format of the file is as follows: a. The file starts with N lines that define the size of the problem (the number of queens, and all row and column indices) using a predicate "num". num(1). num(2). ... num(N). b. The file then specifies the squares on the board that are blocked, using a predicate "block". Each line has the form "block(i,j).", meaning that the square in row i and column j is blocked. Example input: num(1). num(2). num(3). num(4). block(1,1). block(2,2). block(4,3). Output format ================ The solution must be encoded by a binary predicate "queen" , where "queen(i,j)" stands for "there is a queen in square (i,j)''. For the example input given above, the following is a valid assignment: queen(2,1) queen(4,2) queen(1,3) queen(3,4) The corresponding answer set produced by a solver must contain exactly these ground atoms of the form queen(i,j) . Authors: Gayathri Namasivayam and Miroslaw Truszczynski Affiliation: University of Kentucky Email: {gayathri, mirek}@cs.uky.edu blocked-n-queens.dlv    blocked-n-queens_decision.gringo    blocked-queens.mxa    blockedqueens_tight.lparse   un-/mark all