Pagini recente » Cod sursa (job #615467) | Cod sursa (job #880135) | Cod sursa (job #750697) | Cod sursa (job #126484) | Cod sursa (job #2081737)
#include <vector>
#include <queue>
#include <fstream>
#define pb push_back
using namespace std;
ifstream f("sortaret.in"); ofstream g("sortaret.out");
vector <int> L[50005];
queue <int > Q;
int n,m,gri[50005];
bool viz[50005];
void sort_BF()
{ for(int i=1;i<=n;i++)
if(gri[i]==0){Q.push(i); viz[i]=true;}
while(!Q.empty())
{ int x=Q.front();
g<<x<<' ';
vector <int> :: iterator it=L[x].begin(),sf=L[x].end();
for(;it!=sf;it++)
{ gri[*it]--;
if(!viz[*it] && gri[*it]==0) {Q.push(*it); viz[*it]=true;}
}
Q.pop();
}
}
int main()
{ f>>n>>m;
for(int x,y,i=1;i<=m;i++) {f>>x>>y; L[x].pb(y); gri[y]++;}
sort_BF();
g.close(); return 0;
}