Pagini recente » Monitorul de evaluare | Cod sursa (job #771450) | Borderou de evaluare (job #2830537) | Cod sursa (job #1275309) | Cod sursa (job #2715821)
#include <bits/stdc++.h>
#define N 50001
#define pb push_back
#define INF 1<<30
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int nod,vec,i,cont,n,m,x,y,j,deg[N];
queue <int >q;
vector <int> v[N];
int main()
{
f>>n>>m;
for(int i=1; i<=m; i++)
{
f>>x>>y;
v[x].pb(y);
deg[y]++;
}
for(i=1;i<=n;i++)
if(deg[i]==0)
q.push(i);
while(!q.empty())
{
nod=q.front();
g<<nod<<" ";
q.pop();
for(int i=0;i<v[nod].size();i++)
{
vec=v[nod][i];
deg[vec]--;
if(deg[vec]==0)
q.push(vec);
}
}
return 0;
}