开DFS了

简介: 开DFS了

活动 - AcWing 经典DFS 全排列

#include<iostream>
using namespace std ;
const int N = 10 ;
int n ;
int path[N],u[N];
void dfs(int m){
  if(m > n){
    for(int i = 1; i <= n ; i ++) cout << path[i] << " ";
    cout << endl ;
    return ;
  }
  for(int i = 1; i <= n ; i ++){
    if(!u[i]){
      path[m] = i;
      u[i] ++ ;
      dfs(m+1);
      u[i] -- ;
    }
  }
  
}
 
int main(){
  cin >> n ;
  dfs(1);
  return 0 ;  
}

关于dfs的用法有很多 其中dfs找所有路径 和 dfs 找所有排列方式 是最常用的

对于dfs有一种基本的代码框架

目录
相关文章
|
SQL 监控 关系型数据库
为 MySQL/MariaDB 开启 Binlog 功能
说到 Binlog 就不得不提一下 MySQL Server 的四种类型的日志:Error Log、General Query Log、Slow Query Log 和 Binary Log 。
5510 0
|
12月前
对二分的理解
对二分的理解
75 2
|
12月前
|
人工智能 机器人 物联网
室内垂直农业:城市农业的可持续解决方案
【10月更文挑战第15天】随着城市化进程加速,人口增长与农业土地稀缺的矛盾日益突出。室内垂直农业作为一种创新模式,通过在建筑物内多层次种植,大幅提高了单位面积产量,成为解决城市食物需求和农业可持续发展的重要方案。它具有资源高效利用、环境友好、全年生产及便捷物流等优势,并有望推动农业现代化和经济发展,尽管仍面临技术挑战和高成本问题,但在政策支持下发展前景广阔。
|
12月前
|
程序员 开发者 Python
深度解析Python中的元编程:从装饰器到自定义类创建工具
【10月更文挑战第5天】在现代软件开发中,元编程是一种高级技术,它允许程序员编写能够生成或修改其他程序的代码。这使得开发者可以更灵活地控制和扩展他们的应用逻辑。Python作为一种动态类型语言,提供了丰富的元编程特性,如装饰器、元类以及动态函数和类的创建等。本文将深入探讨这些特性,并通过具体的代码示例来展示如何有效地利用它们。
199 0
|
12月前
|
前端开发 API UED
react卸载组件通常需要消除哪些副作用
react卸载组件通常需要消除哪些副作用
|
12月前
|
物联网 Linux 开发者
电子信息类专业技术学习及比赛路线总结(大一到大三)
电子信息类专业技术学习及比赛路线总结(大一到大三)
|
12月前
|
安全 Linux
Linux线程(十一)线程互斥锁-条件变量详解
Linux线程(十一)线程互斥锁-条件变量详解
|
JavaScript 前端开发 安全
JavaScript中跨域资源共享(CORS):原理和解决方案
【4月更文挑战第22天】本文介绍了JavaScript中跨域资源共享(CORS)的原理和解决方案。CORS借助HTTP头部字段允许跨域请求,核心是Access-Control-Allow-Origin响应头。解决方案包括:服务器端设置响应头(如使用Express.js的cors中间件)、使用代理服务器或JSONP。现代Web开发推荐使用CORS,因为它更安全、灵活,而JSONP已逐渐被淘汰。理解并正确实施CORS能提升Web应用性能和安全性。
|
安全 Java 微服务
只要 3 个注解,优雅的实现微服务鉴权!
只要 3 个注解,优雅的实现微服务鉴权!
|
存储 人工智能 供应链
海量数据仓库:元数据管理分享
在最开始的时候,元数据(Meta Data)是指描述数据的数据,通常由信息结构的描述组成,随着技术的发展元数据内涵有了非常大的扩展。元数据通常分为业务元数据、技术元数据和操作元数据等。业务元数据主要包括业务规则、定义、术语、术语表、运算法则和系统使用业务语言等,主要使用者是业务用户。
1311 0
海量数据仓库:元数据管理分享