当前位置: 首页 > news >正文

Day6 DFS

一、跳台阶

一个楼梯共有 nn 级台阶,每次可以走一级或者两级,问从第 00 级台阶走到第 nn 级台阶一共有多少种方案。

输入格式

共一行,包含一个整数 nn。

输出格式

共一行,包含一个整数,表示方案数。

数据范围

1≤n≤15
 

#include<iostream>
using namespace std;

int n;

int fibonaci(int x){
    switch(x){
        case 1: return 1;
            break;
        case 2: return 2;
            break;
        default:
            return fibonaci(x - 1) + fibonaci(x - 2);
    }
}

int main(){
    scanf("%d",&n);
    int ans = fibonaci(n);
    printf("%d\n",ans);
    return 0;
}

二、递归实现指数型枚举

从 1∼n1∼n 这 nn 个整数中随机选取任意多个,输出所有可能的选择方案。

输入格式

输入一个整数 nn。

输出格式

每行输出一种方案。

同一行内的数必须升序排列,相邻两个数用恰好 11 个空格隔开。

对于没有选任何数的方案,输出空行。

本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。

数据范围

1≤n≤15

 

#include <bits/stdc++.h> 
using namespace std;

const int N = 20;

int n;
int st[N]; // 0: 未处理,1: 选中,2: 未选

void dfs(int x) {
    if (x > n) {
        for (int i = 1; i <= n; i++) { // 保持原循环范围
//值得注意的是因为题目要求n的取值范围是1-15,所以i应该从1开始遍历
            if (st[i] == 1) {
                printf("%d ", i);
            }
        }
        printf("\n");
        return ;
    }
    
    // 不选分支
    st[x] = 2;
    dfs(x + 1);
    st[x] = 0; // 修正此处恢复状态
    
    // 选分支
    st[x] = 1;
    dfs(x + 1);
    st[x] = 0; // 恢复状态
}

int main() {
    scanf("%d", &n);
    dfs(1);
    return 0;
} 

 

三、全排列问题

题目描述

按照字典序输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。

输入格式

一个整数 n。

输出格式

由 1∼n 组成的所有不重复的数字序列,每行一个序列。

每个数字保留 5 个场宽。

 

 

相关文章:

  • 17.用户态与内核态
  • 手脑革命:拆解Manus AI如何用“执行智能体”重构生产力——中国团队突破硅谷未竟的技术深水区
  • 《AI浪潮下的创新枢纽:火山引擎大模型应用实验室平台》
  • 登录固定账号和密码:
  • JavaScript基础-比较运算符
  • JavaWeek1-方法构造继承,字符串和可变数组
  • 量子纠缠到处存在--双鱼青铜镜投影--互相包含
  • Roo-Code 核心实现分析
  • 蓝桥-反倍数-oj152
  • 模型的原始输出为什么叫 logits
  • Vue Router:构建单页应用的核心利器
  • 《WebForms 实例》
  • 自定义组件渲染search框
  • ​数据库索引:数据检索的加速引擎
  • 1133: Knight Moves
  • 小哆啦解题记:螺旋矩阵
  • 2025天梯训练1
  • RocketMQ 消息发送高级特性解析(二)
  • IDA, tar - win10自带的tar.exe可以使用的隐藏命令行参数
  • QTreeWidget指定子节点弹出菜单
  • wordpress标签重定向/重庆seo优
  • 建设银行茂名网站/2022年适合小学生的新闻
  • 网站建设推广公司排名/电话营销系统
  • 雄安新区网站建设公司/网站关键词优化外包
  • 黔西南北京网站建设/百度秒收录软件工具
  • 外国人做中国数学视频网站/太原百度快速优化排名