Pagini recente » Statistici chirai raluca (ralukutza0) | Rezultatele filtrării | Cod sursa (job #2200600) | Cod sursa (job #1924193) | Cod sursa (job #2841209)
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>
#define SIZE 50010
using namespace std;
ifstream fin ("sortaret.in");
ofstream fout ("sortaret.out");
int m, n, x, y;
queue <int> Q;
vector <int> v[SIZE], solution;
int freq[SIZE];
int main()
{
fin >> n >> m;
for(int i = 1; i <= m; i++)
{
fin >> x >> y;
v[x].push_back(y);
freq[y]++;
}
for(int i = 1; i <= n; i++)
{
if(freq[i] == 0)
Q.push(i), solution.push_back(i);
}
while(!Q.empty())
{
int val = Q.front();
for(auto x : v[val])
{
freq[x]--;
if(freq[x] == 0) Q.push(x), solution.push_back(x);
}
Q.pop();
}
for(auto x : solution)
fout << x << ' ';
return 0;
}