试题 算法训练 车的放置
试题 算法训练 车的放置
问题描述 在一个n*n的棋盘中,每个格子中至多放置一个车,且要保证任何两个车都不能相互攻击,有多少中放法(车与车之间是没有差别的) 输入格式 包含一个正整数n 输出格式 一个整数,表示放置车的方法数 样例输入 2 样例输出 7
数据规模和约定 n<=8 【样例解释】一个车都不放为1种,放置一个车有4种,放置2个车有2种。
思路 象棋中的车的特点:不要放在同一行或者同一列。 那么搜索时某一行可以不放象棋或者放象棋。
#include
using namespace std;
int n;
int ans=1;//最初答案为一,因为一个车都不放为1种
bool vis[10];//记录某一列有没有放象棋
void dfs(int step){//遍历搜索到了某一行
if(step>n) return;//如果搜到最后一
试题 算法训练 车的放置最先出现在Python成神之路。
共有 0 条评论