Pagini recente » Cod sursa (job #1083012) | Cod sursa (job #2257944) | Cod sursa (job #1437894) | Cod sursa (job #289656) | Cod sursa (job #591579)
Cod sursa(job #591579)
#include<cstdio>
#include<deque>
#include<vector>
using namespace std;
int n, m, p[50001];
vector<int> G[50001];
deque<int> a;
void sortop() {
int i, k;
freopen("sortaret.out", "w", stdout);
for(i = 1; i <= n; ++i)
if(p[i] == 0)
a.push_back(i);
while(!a.empty()) {
k = a[0];
printf("%d ", k);
a.pop_front();
for(i = 0; i < G[k].size(); ++i) {
--p[G[k][i]];
if(p[G[k][i]] == 0)
a.push_back(G[k][i]);
}
}
printf("\n");
}
int main() {
int i, x, y;
freopen("sortaret.in", "r", stdin);
scanf("%d%d", &n, &m);
for(i = 1; i <= m; ++i) {
scanf("%d%d", &x, &y);
G[x].push_back(y);
++p[y];
}
sortop();
return 0;
}