Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- const int N = 5001;
- bool anhyeuem[N][N] = {false};
- bool sua[N] = {false};
- bool ketqua = false;
- bool dfs(int u, int v, int n){
- sua[u] = true;
- if (u == v){
- ketqua = true;
- }
- else{
- for (int i; i != n+1; i++){
- if (ketqua != false) break;
- if(sua[i] == false && anhyeuem[u][i] == true){
- dfs(i,v,n);
- }
- }
- }
- }
- bool findPath(int n, std::vector<std::vector<int>> edges, int u, int v){
- for(int i = 0; i!= edges.size();i++){
- anhyeuem[edges[i][0]][edges[i][1]] = true;
- }
- dfs(u,v,n);
- return ketqua;
- }
- int main(){
- cout << findPath(5,{{1,2},{2,3},{1,3},{4,5},{5,4}}, 1,4);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement