Pagini recente » Cod sursa (job #463588) | Cod sursa (job #2667797) | Cod sursa (job #264281) | Cod sursa (job #577507) | Cod sursa (job #2663775)
#include <bits/stdc++.h>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,GradInt[50005];
set <int> S;
vector <int> V[50005];
int main()
{
f>>n>>m;
while(m--)
{
int x,y;
f>>x>>y;
V[x].push_back(y);
GradInt[y]++;
}
for(int i=1; i<=n; i++)
if(!GradInt[i])
S.insert(i);
while(!S.empty())
{
int i=*S.begin();
g<<i<<' ';
S.erase(S.begin());
for(int j=0; j<V[i].size(); j++)
{
GradInt[V[i][j]]--;
if(!GradInt[V[i][j]])
S.insert(V[i][j]);
}
}
return 0;
}