Pagini recente » Cod sursa (job #2924164) | Cod sursa (job #2475180) | Cod sursa (job #2062996) | Cod sursa (job #29822) | Cod sursa (job #1370010)
#include <cstdio>
#include <vector>
#include <queue>
using namespace std;
int n,m,i,j,x,y;
struct node
{
int nod;
int tata;
};
vector <int> v[50001];
int viz[50001];
void DFS ( int a)
{
queue <int> q;
int i,val;
viz[a]=1;
q.push(a);
printf("%d ",a);
while(!q.empty())
{
val=q.front();
for(i = 0;i < v[val].size(); i++)
{
if(viz[v[val][i]] == 0)
{
viz[v[val][i]]=1;
q.push(v[val][i]);
printf("%d ",v[val][i]);
}
}
q.pop();
}
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);
for(i = 1;i <= m; i++ )
{
scanf("%d%d", &x, &y);
v[x].push_back(y);
}
for(i = 1;i <= n; i++ )
{
if( viz[i] == 0 )
{
DFS(i);
}
}
return 0;
}