Pagini recente » Monitorul de evaluare | valicaroom2 | Cod sursa (job #394448) | Cod sursa (job #983491) | Cod sursa (job #2321826)
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
int n,m,v[100001],x,y,start,nrp[100001];
ifstream in("sortaret.in");
ofstream out("sortaret.out");
vector<int> graf[100001];
queue< int >q;
void bfs()
{
int p;
while(!q.empty())
{
int nou=q.front();
out<<nou<<" ";
q.pop();
for(int i = 0; i < graf[nou].size(); i++)
{
p = graf[nou][i];
nrp[p]--;
if( nrp[p]==0)
{
q.push(p);
//q.push(p);
}
}
}
}
int main()
{
in>>n>>m>>start;
for(int i=1; i<=m; i++)
{
in>>x>>y;
//adauga (graf[x],y);
graf[x].push_back(y);
nrp[y]++;
}
for(int i=1; i<=n; i++)
{
if(nrp[i]==0)
{
q.push(i);
}
}
bfs();
//for(int i=1;i<=n;i++) out<<v[i]-1<<" ";
return 0;
}