Pagini recente » Profil Poisoned_Ivy | Cod sursa (job #2331694) | Cod sursa (job #2171837) | Cod sursa (job #2023729) | Cod sursa (job #1449545)
#include <fstream>
#include <iostream>
#include <vector>
#define nmax 100500
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector <int> graf[nmax];
int N, M, nrMuchii[nmax], coada[nmax], pozitie;
int main()
{int i, j, k, a, b;
f>>N>>M;
for(i = 1; i <= M; ++i){
f>>a>>b;
graf[a].push_back(b);
++nrMuchii[b];
}
for(i = 1; i <= N; ++i){
if( !nrMuchii[i] ){
coada[++pozitie] = i;
}
}
int curPoz = 1; //procesam primul nod
while(curPoz <= pozitie){
int nod = coada[curPoz++];
for (auto it : graf[nod]) {
if (--nrMuchii[it] == 0)
coada[++pozitie] = it;
}
}
for(i = 1; i <= N; ++i)
g<<coada[i]<<' ';
g<<'\n';
return 0;
}