{"id":"54bf0eb6-8192-42fb-b84c-cd89922709a8","name":"Nqueens Combinations - 2d As 1d - Queen Chooses","description":"1. You are given a number n, representing the size of a n * n chess board.\r\n2. You are required to calculate and print the combinations in which n queens can be placed on the \r\n n * n chess-board. \r\n3. No queen shall be able to kill another.\r\n\r\nNote -> Use the code snippet and follow the algorithm discussed in question video. The judge can't \r\n force you but the intention is to teach a concept. Play in spirit of the question.","inputFormat":"A number n","outputFormat":"Check the sample output and question video","constraints":"1 &lt;= n &lt;= 5","sampleCode":{"cpp":{"code":""},"java":{"code":"import java.io.*;\r\nimport java.util.*;\r\n\r\npublic class Main {\r\n\r\n public static boolean IsQueenSafe(boolean[][] chess, int row, int col) {\r\n // write your code here\r\n }\r\n\r\n public static void nqueens(int qpsf, int tq, boolean[][] chess, int lcno) {\r\n if (qpsf == tq) {\r\n for (int row = 0; row < chess.length; row++) {\r\n for (int col = 0; col < chess.length; col++) {\r\n System.out.print(chess[row][col] ? \"q\\t\" : \"-\\t\");\r\n }\r\n System.out.println();\r\n }\r\n System.out.println();\r\n return;\r\n }\r\n\r\n for (int i = lcno + 1; i < chess.length * chess.length; i++) {\r\n int row = i / chess.length;\r\n int col = i % chess.length;\r\n\r\n if (chess[row][col] == false && IsQueenSafe(chess, row, col)) {\r\n chess[row][col] = true;\r\n nqueens(qpsf + 1, tq, chess, row * chess.length + col);\r\n chess[row][col] = false;\r\n }\r\n }\r\n }\r\n\r\n public static void main(String[] args) throws Exception {\r\n BufferedReader br = new BufferedReader(new InputStreamReader(System.in));\r\n int n = Integer.parseInt(br.readLine());\r\n boolean[][] chess = new boolean[n][n];\r\n\r\n nqueens(0, n, chess, -1);\r\n }\r\n}"},"python":{"code":""}},"points":10,"difficulty":"medium","sampleInput":"4","sampleOutput":"-\tq\t-\t-\t\r\n-\t-\t-\tq\t\r\nq\t-\t-\t-\t\r\n-\t-\tq\t-\t\r\n\r\n-\t-\tq\t-\t\r\nq\t-\t-\t-\t\r\n-\t-\t-\tq\t\r\n-\tq\t-\t-\t\r\n\r\n","questionVideo":"https://www.youtube.com/embed/U0dg2X14gYc?end=237","hints":[],"associated":[],"solutionSeen":false,"tags":[],"meta":{"path":[{"id":0,"name":"home"},{"id":"0c54b191-7b99-4f2c-acb3-e7f2ec748b2a","name":"Data Structures and Algorithms","slug":"data-structures-and-algorithms","type":0},{"id":"082986ae-d618-4a59-9ab3-6d79056679a4","name":"Recursion and Backtracking For Intermediate","slug":"recursion-and-backtracking-for-intermediate-330","type":0},{"id":"2e322013-7d36-4426-9110-1770f61b95a1","name":"Nqueens Combinations - 2d As 1d - Queen Chooses","slug":"nqueens-combinations-2d-as-1d-queen-chooses","type":1}],"next":{"id":"9f3de956-c31f-4182-afa5-7ca9edaa24ee","name":"Nqueens Combinations - 2d As 1d - Queen Chooses MCQ","type":0,"slug":"nqueens-combinations-2d-as-1d-queen-chooses-mcq"},"prev":{"id":"d97a0abc-6632-4c3b-94b9-48129c61601c","name":"Queens Combinations - 2d As 1d - Queen Chooses MCQ","type":0,"slug":"queens-combinations-2d-as-1d-queen-chooses-mcq"}}}

Nqueens Combinations - 2d As 1d - Queen Chooses

1. You are given a number n, representing the size of a n * n chess board. 2. You are required to calculate and print the combinations in which n queens can be placed on the n * n chess-board. 3. No queen shall be able to kill another. Note -> Use the code snippet and follow the algorithm discussed in question video. The judge can't force you but the intention is to teach a concept. Play in spirit of the question.

{"id":"54bf0eb6-8192-42fb-b84c-cd89922709a8","name":"Nqueens Combinations - 2d As 1d - Queen Chooses","description":"1. You are given a number n, representing the size of a n * n chess board.\r\n2. You are required to calculate and print the combinations in which n queens can be placed on the \r\n n * n chess-board. \r\n3. No queen shall be able to kill another.\r\n\r\nNote -> Use the code snippet and follow the algorithm discussed in question video. The judge can't \r\n force you but the intention is to teach a concept. Play in spirit of the question.","inputFormat":"A number n","outputFormat":"Check the sample output and question video","constraints":"1 &lt;= n &lt;= 5","sampleCode":{"cpp":{"code":""},"java":{"code":"import java.io.*;\r\nimport java.util.*;\r\n\r\npublic class Main {\r\n\r\n public static boolean IsQueenSafe(boolean[][] chess, int row, int col) {\r\n // write your code here\r\n }\r\n\r\n public static void nqueens(int qpsf, int tq, boolean[][] chess, int lcno) {\r\n if (qpsf == tq) {\r\n for (int row = 0; row < chess.length; row++) {\r\n for (int col = 0; col < chess.length; col++) {\r\n System.out.print(chess[row][col] ? \"q\\t\" : \"-\\t\");\r\n }\r\n System.out.println();\r\n }\r\n System.out.println();\r\n return;\r\n }\r\n\r\n for (int i = lcno + 1; i < chess.length * chess.length; i++) {\r\n int row = i / chess.length;\r\n int col = i % chess.length;\r\n\r\n if (chess[row][col] == false && IsQueenSafe(chess, row, col)) {\r\n chess[row][col] = true;\r\n nqueens(qpsf + 1, tq, chess, row * chess.length + col);\r\n chess[row][col] = false;\r\n }\r\n }\r\n }\r\n\r\n public static void main(String[] args) throws Exception {\r\n BufferedReader br = new BufferedReader(new InputStreamReader(System.in));\r\n int n = Integer.parseInt(br.readLine());\r\n boolean[][] chess = new boolean[n][n];\r\n\r\n nqueens(0, n, chess, -1);\r\n }\r\n}"},"python":{"code":""}},"points":10,"difficulty":"medium","sampleInput":"4","sampleOutput":"-\tq\t-\t-\t\r\n-\t-\t-\tq\t\r\nq\t-\t-\t-\t\r\n-\t-\tq\t-\t\r\n\r\n-\t-\tq\t-\t\r\nq\t-\t-\t-\t\r\n-\t-\t-\tq\t\r\n-\tq\t-\t-\t\r\n\r\n","questionVideo":"https://www.youtube.com/embed/U0dg2X14gYc?end=237","hints":[],"associated":[],"solutionSeen":false,"tags":[],"meta":{"path":[{"id":0,"name":"home"},{"id":"0c54b191-7b99-4f2c-acb3-e7f2ec748b2a","name":"Data Structures and Algorithms","slug":"data-structures-and-algorithms","type":0},{"id":"082986ae-d618-4a59-9ab3-6d79056679a4","name":"Recursion and Backtracking For Intermediate","slug":"recursion-and-backtracking-for-intermediate-330","type":0},{"id":"2e322013-7d36-4426-9110-1770f61b95a1","name":"Nqueens Combinations - 2d As 1d - Queen Chooses","slug":"nqueens-combinations-2d-as-1d-queen-chooses","type":1}],"next":{"id":"9f3de956-c31f-4182-afa5-7ca9edaa24ee","name":"Nqueens Combinations - 2d As 1d - Queen Chooses MCQ","type":0,"slug":"nqueens-combinations-2d-as-1d-queen-chooses-mcq"},"prev":{"id":"d97a0abc-6632-4c3b-94b9-48129c61601c","name":"Queens Combinations - 2d As 1d - Queen Chooses MCQ","type":0,"slug":"queens-combinations-2d-as-1d-queen-chooses-mcq"}}}
plane

Editor


Loading...

Nqueens Combinations - 2d As 1d - Queen Chooses

medium

1. You are given a number n, representing the size of a n * n chess board. 2. You are required to calculate and print the combinations in which n queens can be placed on the n * n chess-board. 3. No queen shall be able to kill another. Note -> Use the code snippet and follow the algorithm discussed in question video. The judge can't force you but the intention is to teach a concept. Play in spirit of the question.

Constraints

1 <= n <= 5

Format

Input

A number n

Output

Check the sample output and question video

Example

Sample Input

4

Sample Output

- q - - - - - q q - - - - - q - - - q - q - - - - - - q - q - -

Question Video

Discussions

Show Discussion

Related Resources

related resources

Turning Off Zen Mode