diff --git a/cpp/BFS.cpp b/cpp/BFS.cpp new file mode 100644 index 00000000..9ff21223 --- /dev/null +++ b/cpp/BFS.cpp @@ -0,0 +1,48 @@ +#include +#include +#include +#pragma GCC optimize("Ofast") +#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,fma") +#pragma GCC optimize("unroll-loops") +const unsigned int M = 1000000007; +using namespace std; +// Check +using namespace __gnu_pbds; +typedef tree,rb_tree_tag,tree_order_statistics_node_update> T_set; // PBDS_set +typedef tree,rb_tree_tag,tree_order_statistics_node_update> T_multiset; // PBDS_multiset + +void solve() +{ + int n ,m,u,v; + cin>>n>>m; + vector> adj(n+1); + vector vis(n+1,false); + for(int i = 0; i < n ; i++ ){ + cin>>u>>v; + adj[u].push_back(v); + adj[v].push_back(u); + } + queue temp; + temp.push(1); + vis[1] = true; + while(!temp.empty()){ + int curr = temp.front(); + cout< +using namespace std; +#define MAXSIZE 1000000 + +vector > graph(MAXSIZE); +bool vis[MAXSIZE]; + + +void dfs(int start) +{ + stack s; + cout<>n; + for(int i=0;i>u>>v; + graph[u].push_back(v); + graph[v].push_back(u); + } + + //to check adjacency list + // for(int i=1;i<=n;i++) + // { + // cout< "; + // for(int j=0;j