Pagini recente » Cod sursa (job #1752306) | Cod sursa (job #1307641) | Cod sursa (job #764162) | Cod sursa (job #2342443) | Cod sursa (job #1770980)
#include <fstream>
#include <vector>
#include <queue>
#define VAL 50005
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
int N, M, i, j, a, b, c;
int nr[VAL], sir[VAL], K;
vector<int> v[VAL];
vector<int> :: iterator it;
int main()
{
fin >> N >> M;
for (i=1; i<=M; i++)
{
fin >> a >> b;
v[a].push_back(b);
nr[b]++;
}
for (i=1; i<=N; i++)
if (nr[i]==0)
sir[++K]=i;
for (i=1; i<=N; i++)
{
c=sir[i];
for (it=v[c].begin(); it!=v[c].end(); it++)
{
nr[*it]--;
if (nr[*it]==0)
sir[++K]=*it;
}
fout << sir[i] << " ";
}
fin.close();
fout.close();
return 0;
}