Pagini recente » Cod sursa (job #37618) | Cod sursa (job #2904138) | Cod sursa (job #831958) | Cod sursa (job #1783729) | Cod sursa (job #2415231)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
unsigned int N , M , deg[50010];
int main()
{
fin >> N >> M;
vector <vector <int>> G(50010);
queue<int> a;
for(int i=1 ; i<=M ; i++)
{
int x , y;
fin >> x >> y;
G[x].push_back(y);
deg[y]++;
}
for(int i=1 ; i<=N ; i++)
if(deg[i] == 0)
a.push(i);
while(!a.empty())
{
int aux;
fout << a.front() << " ";
aux=a.front();
a.pop();
for(int j=0 ; j<G[aux].size() ; j++)
{
deg[j]--;
if(deg[j]==0)
a.push(j);
}
}
}