Pagini recente » Cod sursa (job #3197037) | Cod sursa (job #2602315) | Cod sursa (job #305534) | Cod sursa (job #1896096) | Cod sursa (job #3135450)
#include <bits/stdc++.h>
#define optim ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
#define ll long long
#define ull unsigned long long
#define ld long double
#define pb push_back
#define let auto
#define popcount __builtin_popcount
#define ctzll __builtin_ctzll
#define clzll __builtin_clzll
using namespace std;
string filename = "sortaret";
ifstream fin(filename + ".in");
ofstream fout(filename + ".out");
const int sze = 5e5;
vector<int> G[sze + 1];
int F[sze + 1];
int main()
{
queue<int> q;
int n, m, a, b;
fin>>n>>m;
while(m--){
fin>>a>>b;
G[a].push_back(b);
++F[b];
}
for(int i = 1;i<=n;++i) {
if(F[i] == 0) q.push(i);
}
while(!q.empty()){
int t = q.front();
q.pop();
fout<<t<<' ';
for(int i : G[t]){
F[i]--;
if(F[i] == 0) q.push(i);
}
}
return 0;
}