Pagini recente » Cod sursa (job #73178) | Cod sursa (job #748464) | Cod sursa (job #1851452) | Cod sursa (job #1720090) | Cod sursa (job #2052376)
#include <bits/stdc++.h>
using namespace std;
const int maxn = 50010;
vector<int> gr[maxn];
int grad[maxn];
queue<int> Q;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int main(){
int n, m;
f >> n >> m;
for(int i = 0; i < m; ++i){
int a, b;
f >> a >> b;
gr[a].push_back(b);
grad[b] ++;
}
for(int i = 1; i <= n; ++i){
if(grad[i] == 0){
g << i << ' ';
Q.push(i);
}
}
while(Q.size()){
int cur = Q.front();
Q.pop();
for(auto x : gr[cur]){
grad[x] --;
if(grad[x] == 0) {
g << x << ' ';
Q.push(x);
}
}
}
return 0;
}