Pagini recente » Cod sursa (job #2692221) | Cod sursa (job #1162832) | Cod sursa (job #2195555) | Cod sursa (job #1030322) | Cod sursa (job #2707954)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,grad[50005],coada[50005];
vector<int>vecini[50005];
int main()
{
f>>n>>m;
for(int i=1;i<=m;i++)
{
int x,y;
f>>x>>y;
vecini[x].push_back(y);
grad[y]++;
}
for(int i=1;i<=n;i++)
if(grad[i]==0) coada[++coada[0]]=i;;
for(int i=1;i<=n;i++)
{
int x=coada[i];
for(int j=0;j<vecini[x].size();j++)
{
int y=vecini[x][j];
grad[y]--;
if(grad[y]==0) coada[++coada[0]]=y;
}
}
for(int i=1;i<=n;i++) g<<coada[i]<<' ';
}