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

代码随想录算法训练营第五十天|图论part1

98. 所有可达路径

题目链接:98. 所有可达路径

文章讲解:代码随想录

输入输出格式:

头文件

#include <iostream>

cin>>x;(给x,所以是向着x的)

cout<< x;(x给别人,所以是向着out的)

深度搜索三部曲:

1.确定参数

2.确定终止条件

3.处理当前节点逻辑

#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>>ans;
vector<int>path;
void dfs(vector<vector<int>>graph,int start,int end){if(start==end){               //终止条件ans.push_back(path);return;}for(int i=1;i<=end;i++){if(graph[start][i]==1){path.push_back(i);dfs(graph,i,end);    //递归path.pop_back();     //回溯}}
}int main(){int n,m,s,t;cin>>n>>m;vector<vector<int>>graph(n+1,vector<int>(n+1,0));while(m--){cin>>s>>t;graph[s][t]=1;}path.push_back(1);dfs(graph,1,n);if (ans.size() == 0) cout << -1 << endl;for(const vector<int> &p:ans){for(int i=0;i<p.size()-1;i++){cout<<p[i]<<' ';}cout<<p[p.size()-1]<<endl;}
}

http://www.lryc.cn/news/590365.html

相关文章:

  • Python 日志轮换处理器的参数详解
  • watermark的作用
  • JS逆向 - YandexSmartCaptcha (worker线程)
  • Spring Boot 解决跨域问题
  • 基于SD-WAN的智慧高速解决方案:高效、低成本的智能交通实践
  • 高频面试雷区:Java Object六大核心方法源码剖析
  • socket和websocket的区别
  • python--杂识--20 sse与websocket区别
  • 【数据结构】栈与链表的区别
  • 构建足球实时比分APP:REST API与WebSocket接入方案详解
  • 【25】MFC入门到精通——MFC静态文本框 中字符串 连续输出 不覆盖先前的文本 换行输出
  • 基于深度学习的情感分析模型:从文本数据到模型部署
  • 推客系统开发:从零构建高并发社交平台的技术实践
  • 【前端】Vue3 前端项目实现动态显示当前系统时间
  • 每天一个前端小知识 Day 33 - 虚拟列表与长列表性能优化实践(Virtual Scroll)
  • Python 与JA3 库的应用
  • 接口幂等性设计:用Redis避免接口重复请求
  • 前端技术之---应用国际化(vue-i18n)
  • 中医文化学习软件,传承国粹精华
  • Java全栈面试实录:从电商支付到AIGC的深度技术考察
  • 什么是数据仓库?数据库与数据仓库有什么关系?
  • 基于WebRTC构建应用的可复用模块
  • Ansible 查看PostgreSQL的版本
  • Rocky9安装Ansible
  • Android CameraX使用
  • PyCharm高效入门指南
  • 深度解析:如何在 Windows 系统中高效配置 Android MCP 服务
  • 【Unity】IL2CPP相关理论知识学习
  • CSS:transition语法
  • 网络安全初级(XSS-labs 1-8)