Pagini recente » Cod sursa (job #2269111) | Cod sursa (job #531986) | Cod sursa (job #2604137) | Cod sursa (job #867102) | Cod sursa (job #2657784)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
vector <int> l[50000];
int N,M,g[50000];
queue <int> q;
int main()
{
ifstream fin("sortaret.in");
ofstream fout("sortare.out");
fin >> N >> M;
int i,j,k,nod;
for (i = 1; i <= N; i++)
{
fin >> j >> k;
l[j].push_back(k);
g[k]++;
}
for (i = 1; i <= N; i++)
if(g[i] == 0)
q.push(i);
while (!q.empty())
{
nod = q.front();
fout << nod << " ";
q.pop();
for (i = 0; i < l[nod].size(); i++)
{
g[l[nod][i]]--;
if (g[l[nod][i]] == 0)
q.push(l[nod][i]);
}
}
fin.close();
fout.close();
return 0;
}