diff --git a/DFS/dfs.cpp b/DFS/dfs.cpp index a94ba27..3b8cfde 100644 --- a/DFS/dfs.cpp +++ b/DFS/dfs.cpp @@ -1,19 +1,47 @@ -void dfsUtil(int visited[],int pos, vector> adj) +#include + +using namespace std; +typedef long long ll; + +vector *adj; + +void addEdge(ll u, ll v) +{ + adj[u].push_back(v); + adj[v].push_back(u); +} +void dfsUtil(ll visited[], ll pos) { visited[pos] = 1; cout<> adj) +void dfs(ll n) { - int visited[adj.size()] = {0}; - for(int i = 0; i < size; i++) + ll visited[n] = {0}; + for(ll i = 0; i < n; i++) { if(visited[i] == 0) - dfsUtil(visited, i, adj); + dfsUtil(visited, i); + } +} + +int main() +{ + ll n, m; + cin>>n>>m; + adj = new vector[n]; + + while(m--) + { + ll u,v; + cin>>u>>v; + addEdge(u-1, v-1); } + dfs(n); + return 0; }