Pagini recente » Borderou de evaluare (job #2480213) | Borderou de evaluare (job #240154) | Borderou de evaluare (job #2013200) | Borderou de evaluare (job #398730) | Cod sursa (job #2501335)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
vector < int > v[50001];
queue < int > q;
int n, m, x, y, i, t[50001];
int main()
{
fin >> n >> m;
for ( ; m-- ; )
{
fin >> x >> y;
v[x].push_back(y);
t[y]++;
}
for ( i = 1 ; i <= n ; i++ ) if ( t[i] == 0 ) q.push ( i );
while ( q.empty() == 0 )
{
x = q.front();
q.pop();
for ( i = 0 ; i < v[x].size() ; i++ )
{
t[v[x][i]]--;
if ( t[v[x][i]] == 0 ) q.push ( v[x][i] );
}
fout << x << ' ';
}
return 0;
}