【错题集-编程题】体操队形(DFS + 枚举)

简介: 【错题集-编程题】体操队形(DFS + 枚举)

牛客对应题目链接:体操队形 (nowcoder.com)


一、分析题目

经验:因为数据量小,可以通过递归来做。

画出决策树,注意剪枝策略。


二、代码

//值得学习的代码
#include <iostream>
 
using namespace std;
 
const int N = 15;
 
int ret;
int n;
bool vis[N];
int arr[N];
 
void dfs(int pos)
{
    if(pos == n + 1) // 找到⼀种合法⽅案
    {
        ret++;
        return;
    }
 
    for(int i = 1; i <= n; i++)
    {
        if(vis[i]) continue; // 当前 i 已经放过了 - 剪枝
        if(vis[arr[i]]) return; // 剪枝
        vis[i] = true; // 相当于放上 i 号队员
        dfs(pos + 1);
        vis[i] = false; // 回溯- 还原现场
    }
}
 
int main()
{
    cin >> n;
    for(int i = 1; i <= n; i++) cin >> arr[i];
 
    dfs(1);
 
    cout << ret << endl;
 
    return 0;
}

三、反思与改进

这道题真就一点思路也没有,看着数据量很小,想着模拟试试看,发现根本行不通。下次看到数据量小,可以尝试递归,暴力搜索来解决问题。


相关文章
|
并行计算 安全 Unix
Python教程第8章 | 线程与进程
本章主要讲解了线程与进程的概念,多线程的运用以及Python进程的相关案例学习
770 0
|
Unix Linux 异构计算
成功解决 ERROR: An error occurred while performing the step: “Building kernel modules“. See /var/log/nv
成功解决 ERROR: An error occurred while performing the step: “Building kernel modules“. See /var/log/nv
成功解决 ERROR: An error occurred while performing the step: “Building kernel modules“. See  /var/log/nv
|
API 容器
React-13:组件实例的三大核心属性之refs
React-13:组件实例的三大核心属性之refs
211 0
React-13:组件实例的三大核心属性之refs
|
SQL 关系型数据库 MySQL
MySQL GTID 错误处理汇总
MySQL GTID是在传统的mysql主从复制的基础之上演化而来的产物,即通过UUID加上事务ID的方式来确保每一个事物的唯一性。
1422 0
|
10天前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
6天前
|
人工智能 安全 机器人
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI助手,支持钉钉、飞书等多平台接入。本教程手把手指导Linux下部署与钉钉机器人对接,涵盖环境配置、模型选择(如Qwen)、权限设置及调试,助你快速打造私有、安全、高权限的专属AI助理。(239字)
3944 11
OpenClaw(原 Clawdbot)钉钉对接保姆级教程 手把手教你打造自己的 AI 助手
|
7天前
|
人工智能 机器人 Linux
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
OpenClaw(原Clawdbot)是一款开源本地AI智能体,支持飞书等多平台对接。本教程手把手教你Linux下部署,实现数据私有、系统控制、网页浏览与代码编写,全程保姆级操作,240字内搞定专属AI助手搭建!
4545 14
保姆级 OpenClaw (原 Clawdbot)飞书对接教程 手把手教你搭建 AI 助手
|
9天前
|
人工智能 JavaScript 应用服务中间件
零门槛部署本地AI助手:Windows系统Moltbot(Clawdbot)保姆级教程
Moltbot(原Clawdbot)是一款功能全面的智能体AI助手,不仅能通过聊天互动响应需求,还具备“动手”和“跑腿”能力——“手”可读写本地文件、执行代码、操控命令行,“脚”能联网搜索、访问网页并分析内容,“大脑”则可接入Qwen、OpenAI等云端API,或利用本地GPU运行模型。本教程专为Windows系统用户打造,从环境搭建到问题排查,详细拆解全流程,即使无技术基础也能顺利部署本地AI助理。
7082 15