Pagini recente » Cod sursa (job #1587369) | Cod sursa (job #2947161) | Cod sursa (job #2534779) | Cod sursa (job #105137) | Cod sursa (job #999566)
Cod sursa(job #999566)
#include<iostream>
#include<fstream>
#include<vector>
#include<queue>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
struct nod {
int lvl;
vector<int> vecini;
};
nod nodes[50002];
int m, n, a, b, i;
queue<int>coada;
void free(int x) {
int l, j;
fout << x << ' ';
l = nodes[x].vecini.size();
for(j = 0; j < l; j++) {
int vecin = nodes[x].vecini[j];
nodes[vecin].lvl--;
if(nodes[vecin].lvl == 0) {
coada.push(vecin);
}
}
}
int main() {
fin >> n >> m;
for(i = 0; i < n; i++) {
fin >> a >> b;
nodes[a].vecini.push_back(b);
nodes[b].lvl++;
}
for(i = 1; i <= n; i++) {
if(nodes[i].lvl == 0) {
coada.push(i);
}
}
while(!coada.empty()) {
free(coada.front());
coada.pop();
}
fin.close();
fout.close();
return 0;
}