Pagini recente » Cod sursa (job #1769949) | Cod sursa (job #2484047) | Cod sursa (job #1138366) | Cod sursa (job #1089543) | Cod sursa (job #668725)
Cod sursa(job #668725)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
const int N=50001;
ifstream in ("sortaret.in");
ofstream out ("sortaret.out");
vector <int> g[N];
queue <int> q;
int n,m;
bool viz[N];
void afisare()
{
int nod;
if (!q.empty())
{
nod=q.front();
q.pop();
afisare ();
out<<nod<<" ";
}
}
void dfs (int nod)
{
int i;
viz[nod]=1;
for (i=0;i<g[nod].size();i++)
if (!viz[g[nod][i]])
dfs (g[nod][i]);
q.push (nod);
}
int main()
{
int i;
int x,y;
in>>n>>m;
for (i=1;i<=m;i++)
{
in>>x>>y;
g[x].push_back (y);
}
for (i=1;i<=n;i++)
if (!viz[i])
dfs (i);
afisare();
return 0;
}