DFS-2
#include<bits/stdc++.h>
using namespace std;
long long visited[100];
vector <int> grp[200];
int n;
map<int,int>vis;
int dfs(int s)
{
stack<int>st;
st.push(s);
//for(int i=0; i<n; i++)
//cout<<i<<" b "<<vis[i]<<endl;
while(!st.empty())
{
s=st.top();
//cout<<s<<endl;
st.pop();
if(vis[s]==0)
{
cout<<s<<" ";
vis[s]=1;
}
int l=grp[s].size();
//int l=9;
for(int i=0; i<l; i++)
{
//cout<<"grp[s][i]="<<grp[s][i]<<endl;
if(vis[grp[s][i]]==0)
st.push(grp[s][i]);
}
}
}
int main()
{
int m,i,j,a,b;
cin>>n>>m;
for(i=1; i<=m; i++)
{
cin>>a>>b;
grp[a].push_back(b);
}
for(i=0;i<n;i++)
vis[i]=0;
for(i=1;i<=n;i++)
dfs(i);
return 0;
}
/*
5 4
1 0
2 1
3 4
4 0
*/
using namespace std;
long long visited[100];
vector <int> grp[200];
int n;
map<int,int>vis;
int dfs(int s)
{
stack<int>st;
st.push(s);
//for(int i=0; i<n; i++)
//cout<<i<<" b "<<vis[i]<<endl;
while(!st.empty())
{
s=st.top();
//cout<<s<<endl;
st.pop();
if(vis[s]==0)
{
cout<<s<<" ";
vis[s]=1;
}
int l=grp[s].size();
//int l=9;
for(int i=0; i<l; i++)
{
//cout<<"grp[s][i]="<<grp[s][i]<<endl;
if(vis[grp[s][i]]==0)
st.push(grp[s][i]);
}
}
}
int main()
{
int m,i,j,a,b;
cin>>n>>m;
for(i=1; i<=m; i++)
{
cin>>a>>b;
grp[a].push_back(b);
}
for(i=0;i<n;i++)
vis[i]=0;
for(i=1;i<=n;i++)
dfs(i);
return 0;
}
/*
5 4
1 0
2 1
3 4
4 0
*/
মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন