【错题集-编程题】体操队形(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;
}

三、反思与改进

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


相关文章
|
4月前
|
存储 运维 数据可视化
2026年企业数据分析系统建设费用预算清单:详细成本解析
本文系统梳理企业数据分析系统建设的全成本构成,涵盖基础设施、软件许可、实施开发、运维支持及人员培训五大模块,并以瓴羊Quick BI为例详解其弹性计费模式与预算控制策略,助力企业制定可执行、可优化的2026年度数据分析预算清单。(239字)
|
5月前
使用经验模态分解(EMD)处理振动信号,并结合样本熵进行特征提取
使用经验模态分解(EMD)处理振动信号,并结合样本熵进行特征提取
584 3
|
3月前
|
人工智能 安全 API
大学如何培养AI智能体人才?
本文探讨高校如何培养AI智能体应用型人才,提出“能力分层+五维路径”培养模式:构建L1-L3递进能力模型,涵盖课程体系、低门槛工具链、项目驱动、作品集展示与社区生态,并提供开源工具推荐、实训案例及轻量化评价机制,助力高校低成本、高实效落地AI人才培养。
|
3月前
|
缓存 BI API
企业多模型 API 网关设计:路由、熔断、降级和计费
多模型网关的目标不是把架构画复杂,而是让企业在模型快速变化时有选择权。模型会继续升级,业务系统不应该跟着频繁重写。
488 0
|
3月前
|
运维 BI API
企业级ERP管理系统源码,采用SpringBoot+Vue+UniAPP技术栈,支持二次开发及商用授权
企业级ERP源码,基于SaaS架构,采用SpringBoot+Vue+UniAPP技术栈,支持Web/APP/桌面多端访问。覆盖采购、销售、生产、财务、CRM、OA等全业务流程,提供多租户隔离、弹性扩展与自动化运维能力,支持深度二次开发及商用授权。
237 0
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
2025AI数字人企业综合厂商排行新发布
本报告深度解析2024数字人企业TOP10格局与核心技术图谱,涵盖像衍科技、阿里达摩院、华为云等领军企业,揭示从2D/3D到超写实数字人的四大类型演进。剖析AI驱动的十大技术突破与政务、医疗、教育等六大应用场景,展望数字人向个人生活延伸、能力拟人化及生态协同的未来趋势,全面呈现虚实共生的智能新生态。
|
前端开发 JavaScript 测试技术
Google提出的网页性能评价指标
Google推出的“网页指标”计划旨在优化网页用户体验,其中Core Web Vitals为核心指标,包括Largest Contentful Paint (LCP)、Interaction to Next Paint (INP)和Cumulative Layout Shift (CLS),分别衡量加载速度、互动性和视觉稳定性。这些指标采用第75百分位数评估,确保在不同设备和网络环境下提供一致的用户体验。
1169 5
Google提出的网页性能评价指标
|
Web App开发 存储 JavaScript
浏览器之性能指标-TTI
浏览器之性能指标-TTI
643 0
|
XML JSON 分布式计算
如何设计财务对账系统 —— 从0到1搭建对账中心实战
卡拉云快速搭建企业内部对账系统
14232 3
如何设计财务对账系统 —— 从0到1搭建对账中心实战
|
编解码 安全 Java
【软件测试】进阶篇 -- 详解
【软件测试】进阶篇 -- 详解