问题描述
  在一个n*n的棋盘中,每个格子中至多放置一个车,且要保证任何两个车都不能相互攻击,有多少中放法(车与车之间是没有差别的)
输入格式
  包含一个正整数n
输出格式
  一个整数,表示放置车的方法数
样例输入
2
样例输出
7
数据规模和约定
  n<=8
  【样例解释】一个车都不放为1种,放置一个车有4种,放置2个车有2种。
算法思路:
这道题考察的是搜索回溯算法,我们都知道在象棋里车的攻击方式是直线行的,也就是说,只要不把他们放在同一行或者同一列就可以避免相互攻击,从题中我们可以了解到,题目要求不一定在每一行都必须放,即在这一行放不放都是一种方案(这就是与n皇后问题不同的地方)。因此我们搜索的时候都会对应两种选择,在这一行放或者不在这一行放,每种选择都要搜索一遍。

#include  <bits/stdc++.h>
using namespace std;
int N;
long long ans=1; //刚开始什么也不放也属于一种答案
bool visited[10]; //标志被放置的列
void dfs(int step) //表示从第step行开始放
{if(step>N) return ; //如果超过规定的棋盘边界N,跳出。for(int i=1;i<=N;i++)if(!visited[i]) //如果这一列没有被放置{visited[i]=true; //在这个位置放置它ans++; //该情况的答案+1dfs(step+1); //肯定不能在同一行放了,跳到下一行visited[i]=false; //回溯}dfs(step+1); //不一定从第step行开始放(即第step行没有也可以),从step+1行开始放也可以
}
int main()
{cin>>N;dfs(1);//从第一行开始搜cout<<ans;return 0;
}

下面我根据搜索的步骤给大家画一下搜到的答案的顺序情况
1.什么也不放

2.放第1行第1列

3.在2的基础上放第2列

4.回溯,放在第1行第2列

5.在4的基础上放第2行

6.回溯,第1行什么也不放,从第2行第1列开始放

7.回溯,从第2行第2列开始

试题 算法训练 车的放置(蓝桥杯c++)相关推荐

  1. 试题 算法训练 一元三次方程求解---蓝桥杯

    试题 算法训练 一元三次方程求解 题目描述: 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a ...

  2. 试题 算法训练 无聊的逗 - 蓝桥杯

    状态间的比较 (暴力检索) :       选出在两根一样长的情况下长度最长的,     实际就是2^n 种组合比较,在状态检索中,     找到 不同状态(无重复的木棍)的组合 并且 木棍总长度相等 ...

  3. 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解

    题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...

  4. 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解 - 未完善

    题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...

  5. 蓝桥杯 试题 算法训练 筛选号码 Java

    蓝桥杯 试题 算法训练 筛选号码Java 算法训练 筛选号码 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3 ...

  6. 蓝桥杯 试题 算法训练 无聊的逗

    蓝桥杯 试题 算法训练 无聊的逗 问题描述 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘 ...

  7. 蓝桥杯试题 算法训练 绘制地图

    蓝桥杯试题 算法训练 绘制地图 问题描述 最近,WYF正准备参观他的点卡工厂.WYF集团的经理氰垃圾需要帮助WYF设计参"观"路线.现在,氰垃圾知道一下几件事情: 1.WYF的点卡 ...

  8. 蓝桥杯:试题 算法训练 Remember the A La Mode

    蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...

  9. 蓝桥杯试题 算法训练 Have You Ever Heard About the Word?

    试题 算法训练 Have You Ever Heard About the Word? 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 一个字符串的子串是该字符串的一段连续子序列,如 ...

最新文章

  1. 小小总结,写得有些乱
  2. Taro+react开发(95):问答模块02
  3. 漫步数学分析十二——嵌套
  4. vue-cil+vuex 构建一个简单的记事本应用
  5. 141.4. 分布式安装(CentOS 6 + hadoop-1.1.2)
  6. 赛锐信息:SAP ABAP 常量和字面量
  7. win32汇编-窗口 对话框 (三)
  8. /usr/bin/sed: No such file or directory
  9. mysql ON DUPLICATE KEY UPDATE重复插入时更新
  10. conficker病毒
  11. vs2019python使用教程_vs2019安装和使用详细图文教程
  12. js原型、原型链、原型链继承详解
  13. 微信小程序开发者工具无法登录 不显示登录二维码
  14. 2022年节约用水倡议书
  15. python运算符和基本数据类型你了解吗?
  16. 买外链要多少钱?外链要去哪里买?
  17. 新发现,新挑战,技术出海的机遇与挑战丨PingCAP DevCon 2022 出海专场
  18. kubernetes pod 级别的 jvm 监控
  19. 数字电路逻辑设计 习题集
  20. xshell使用sftp命令总结

热门文章

  1. html八卦绘制,HTML+CSS实现画出一个太极八卦图案
  2. 33:判断字符串是否为回文
  3. 【数据库MySQL】数据库网上书店管理系统
  4. Linux监控操作系统CPU、内存、磁盘、网络和dstat
  5. Unity3D之Rigidbody组件的使用
  6. 【20180904】【查漏补缺】量纲分析法—Pi定理(Buckingham定理)
  7. ElasticSearch断路器
  8. 自顶向下和自底向上的估算方式
  9. 微信小程序码的生成方式
  10. a href链接弹出新窗口的方法