条条大路通罗马 - 华为笔试题目
来源:互联网 发布:mac automator 自动化 编辑:程序博客网 时间:2024/05/17 01:10
// 题目本身不难,就是一个深度优先搜索// 但是-网上有一些博客给出的是错误答案// 做这个深度优先搜索的关键问题,在于如何避免重新去节点,而不是去避免已经走过的路// 在一次向下的深度搜索过程中,不能返回已经走过的节点// 但是在完成一次到底的DFS后,在返回时必须重置 “走过”状态// 1 -》 2 —》3// 1-》4-》3 是两条一样的路径#include<iostream> #include<string> #include <set>using namespace std; int map[10][10];int N,A,B;int visited[10]; //用于记录已经走过的节点int solve(int start,int end){ int cnt = 0; visited[start] = 1; for(int i = 0; i< N; i++) { if( i == start) // 不能从 a-》a continue; if( map[start][i] == 1 && visited[i] != 1) { if( i == end ) //抵达终点后,不继续向下搜索 cnt++; else { map[start][i] = 0; cnt += solve(i,end); map[start][i] = 1; } } } visited[start] = 0; return cnt;}int main() { while(cin>>N>>A>>B) { for(int i=0;i<N;i++) { for(int j=0;j<N;j++) { cin>>map[i][j]; // CIN DATA } } memset(visited, 0 , 10*sizeof(int)); cout<<solve(A,B)<<endl; } return 0; }
0 0
- 条条大路通罗马 - 华为笔试题目
- 转:华为笔试题目
- 华为_C++ 笔试题目
- 华为_C++ 笔试题目
- 华为上机笔试题目
- 华为的一道笔试题目
- 华为--C++ 笔试+面试题目
- 华为--C++ 笔试+面试题目
- 华为--C++ 笔试面试题目
- 华为--C++ 笔试面试题目
- 华为--C++ 笔试+面试题目
- 华为--C++ 笔试面试题目
- 华为软件笔试题目分析
- 记录一下华为笔试题目
- 条条大路通罗马
- 条条大路通罗马
- 条条大路通罗马
- 条条大路通罗马
- zk集群笔记
- 全国主要城市交通卡芯片一览
- STL学习之map与multimap
- Win10安装nodejs 错误代码2502,2503
- 数据库性能优化常用SQL脚本总结
- 条条大路通罗马 - 华为笔试题目
- [读书笔记] 深入探索C++对象模型-第五章-构造、析构、拷贝语义学(中)
- 用Docker之后还需要OpenStack吗?
- 开关电源纹波产生分析
- CSS Repaint and Reflow 及其优化
- 爬虫
- 温度传感器检测温度报警装置
- Introduction to HTML
- dialog 全屏 记录一下