算法训练营|图论第一天 98. 所有可达路径

server/2024/10/25 14:25:12/

题目:所有可到达路径

题目链接:

98. 所有可达路径 (kamacoder.com)

解题思路:

邻接矩阵,注意没有result == -1时候特判

#include<bits/stdc++.h>
using namespace std;
vector<vector<int>>result;
vector<int>path;
void dfs(vector<vector<int>>grid, int x, int n) {if (x == n) {result.push_back(path);return;}for (int i = 1; i <= n; i++) {if (grid[x][i] == 1) {path.push_back(i);dfs(grid, i, n);path.pop_back();}}
}
int main() {int n, m;cin >> n >> m;vector<vector<int>>grid(n + 1, vector<int>(n + 1, 0));while (m--) {int s, t;cin >> s >> t;grid[s][t] = 1;}path.push_back(1);dfs(grid, 1, n);if (result.size() == 0) cout << -1 << endl;for (int i = 0; i < result.size(); i++) {for (int j = 0; j < result[i].size() - 1; j++) {cout << result[i][j] << ' ';}cout << result[i][result[i].size() - 1]<<endl;}
}

邻接表的写法:

#include<bits/stdc++.h>
using namespace std;
vector<vector<int>>result;
vector<int>path;
void dfs(vector<list<int>>grid, int x, int n) {if (x == n) {result.push_back(path);return;}for (auto i : grid[x]) {path.push_back(i);dfs(grid, i, n);path.pop_back();}
}
int main() {int n, m;cin >> n >> m;vector<list<int>>grid(n + 1);while (m--) {int s, t;cin >> s >> t;grid[s].push_back(t);}path.push_back(1);dfs(grid, 1, n);if (result.size() == 0) {cout << -1 << endl;}for (auto path : result) {for (int i = 0; i < path.size() - 1; i++) {cout << path[i] << ' ';}cout << path[path.size() - 1] << endl;}return 0;
}


http://www.ppmy.cn/server/110607.html

相关文章

相机SD卡格式化了怎么恢复?

对于摄影爱好者而言&#xff0c;相机SD卡中存储的照片和视频无疑是珍贵的记忆。然而&#xff0c;一旦不慎将SD卡格式化&#xff0c;这些宝贵的数据似乎就会瞬间消失&#xff0c;令人心急如焚。但请放心&#xff0c;即使SD卡被格式化&#xff0c;仍有机会恢复其中的数据。本文将…

[LLM][Prompt Engineering]:思维链(CoT)

思维链 思维链1. 思维链提示方法和增强策略1.1 简单的思维链提示1.2 示例形式的思维链提示1.3 思维链提示的后处理方案1.4 拓展推理结构 2. CoT的能力来源&#xff1a;为什么思维链提示能显著提升大语言模型在推理任务上的效果&#xff1f; 强大的逻辑推理是大语言模型“智能涌…

YOLOv8改进 | 模块缝合 | C2f融合多尺度表征学习模块 【含OD、RTDETR、OBB等yaml文件】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录 :《YOLOv8改进有效涨点》专栏介绍 & 专栏目录 | 目前已有100+篇内容,内含各种Head检测头、损失函数Loss…

前端axios封装request请求,在request(编译时)里面使用windows报错

1.报错代码 可以看到const isLocalEnv !location.href.includes(".com"); 是直接定义在文件中的&#xff0c;然后request里面引入globalConfig&#xff0c;handle401AndRedirect(toLogout);是在报错时执行的 src\utils\globalConfig.ts const isLocalEnv !locatio…

海康二次开发学习笔记12-从Group外部输入图像

从Group外部输入图像 用OpenCV从本地读图 当Group内部无图像源模块时,可以通过代码的方式将图片传入Group内部.实现方式有多种,可以使用OpenCV从本地读图,可在程序集搜索引用OpenCvSharp&#xff0c;同时将其复制本地的属性改为False. 1. 界面设计 增加加载图像按钮 2. 处理…

使用QT开发一些特殊相机的思路:个人经验

前言&#xff1a; 去年使用QT开发过Dalsa线扫相机的应用程序&#xff0c;去获取数据&#xff0c;显示图片&#xff0c;实时分析等&#xff0c;测试demo的链接如下&#xff1a; Dalsa线扫相机-二次开发-QT-C 可用Demo&#xff08;一&#xff09;_dalsa开发-CSDN博客 前段时间&am…

Linux3-Linux用户和权限

简介&#xff1a;个人学习分享&#xff0c;如有错误&#xff0c;欢迎批评指正。 一、root用户&#xff08;超级管理员&#xff09; 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。 在Linux系统中&#xff0c;拥有最大权限的账户名为&#xff1a;root&#…

ACL实验配置学习笔记

拓扑描述&#xff1a; R1作为所有PC的网关&#xff1b; 财务部用户&#xff1a;192.168.1.0/24 市场部用户&#xff1a;192.168.2.0/24 Server1&#xff1a;HTTP服务器地址为7.7.7.7/24 PC 2&#xff1a;192.168.1.2 PC 5:&#xff1a;192.168.2.2 PC 3&#xff1a;&…