首页 > 其他分享 >八皇后

八皇后

时间:2024-07-01 20:28:37浏览次数:3  
标签:输出 15 int 样例 一个 棋子 皇后

 题目描述

一个如下的 ​6*6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。

44.png

上面的布局可以用序列 2 4 6 1 3 5 来描述,第 i 个数字表示在第 i 行的相应位置有一个棋子,如下:

行号 ​1 2 3 4 5 6

列号 2 4 6 1 3 5

这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。

并把它们以上面的序列方法输出,解按字典顺序排列。

请输出前 ​3 个解。最后一行是解的总个数。

输入格式

一行一个正整数 n,表示棋盘是 n*n​ 大小的。

输出格式

前三行为前三个解,每个解的两个数字之间用一个空格隔开。

第四行只有一个数字,表示解的总数。

样例 #1

样例输入 #1

6

样例输出 #1

2 4 6 1 3 5
3 6 2 5 1 4
4 1 5 2 6 3
4

提示

对于 100% 的数据,6≤

标签:输出,15,int,样例,一个,棋子,皇后
From: https://blog.csdn.net/AnnaWu13/article/details/140108845

相关文章

  • N皇后-力扣
    按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n皇后问题研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数n,返回所有不同的n皇后问题的解决方案。每一种解法包含一个不同的n皇后问题的......
  • 洛谷 P1219 八皇后
    题目链接:八皇后思路    这是一个典型的搜索题目,从前往后依次枚举行数,从第一行开始依次枚举皇后的纵坐标,并判断当前坐标是否满足题目要求,满足题目要求则标记将答案存储,并继续向下枚举下一行。由分析可得每条对角线上的任意一点的横纵坐标满足公式i-j+n的值与对角......
  • 代码随想录算法训练营第三十天 | 51.N 皇后
    51.N皇后题目链接文章讲解视频讲解递归三部曲递归函数参数需要传入当前chessBoard和棋盘大小n,以及当前要放置皇后的行数rowvoidbacktracking(vector<string>&chessBoard,intn,introw);递归终止条件当最后一个皇后放置好后结束if(row==n){result.push_b......
  • 代码随想录算法训练营第30天 | 332.重新安排行程 、51. N皇后、37. 解数独
    332.重新安排行程(可跳过)https://programmercarl.com/0332.重新安排行程.html有难度,涉及到图,有些用例会超时/***@param{string[][]}tickets*@return{string[]}*/varfindItinerary=function(tickets){constres=['JFK'];constmap={};for(le......
  • n-皇后问题(c++)
    ......
  • 深度优先搜索 洛谷P1219八皇后
    深度优先搜索洛谷P1219这是一道经典的深度优先搜索问题,深度优先搜索可用以下模板:voiddfs(intdepth){ if(达到边界){ 记录解 } for(枚举在depth这一深度,能够使用的解){ if(解可行){ 记录解(记录已经被使用) dfs(depth+1) 恢复解(恢复原状) } }}题目要求我们......
  • python算法:n皇后
    一,认识递归函数1,什么是递归?递归的工作原理是,如果函数需要处理的问题大小合适,则直接求解并返回结果,否则将问题分解成两个或多个更小的子问题,并对子问题进行相同的处理,直到问题无法分解为止2,什么是递归函数:递归函数(recursivefunction)是指在函数体中可以调用自己的函数3,语......
  • N皇后问题
    递归方式N皇后#include<stdio.h>#include<math.h>#defineN5//皇后个数intq[N+1];//存储每个皇后所在的列数下标从1开始intnum=1;//记录方案数//输出当前方案的函数voidprintQ(){ printf("方案%-3d:",num); for(inti=1;i<=N;i++){ ......
  • n皇后问题
    n皇后问题位运算版本(返回可能数)inttotalqueen(intn){if(n<1)return0;//n=5//1<<5=0...100000-1//limit=0...011111;//n=7//limit=0...01111111;intlimit=(1<<n)-1;returnf2(limit,0,0......
  • 2024-04-27:用go语言,在一个下标从 1 开始的 8 x 8 棋盘上,有三个棋子,分别是白色车、白色
    2024-04-27:用go语言,在一个下标从1开始的8x8棋盘上,有三个棋子,分别是白色车、白色象和黑色皇后。给定这三个棋子的位置,请计算出要捕获黑色皇后所需的最少移动次数。需要注意的是,白色车可以垂直或水平移动,而白色象可以沿对角线移动,它们不能跳过其他棋子。如果白色车或白色象......