Pagini recente » Cod sursa (job #1227652) | Cod sursa (job #136362) | Cod sursa (job #2377203) | Cod sursa (job #3203183) | Cod sursa (job #1882373)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
ifstream fin("sortaret.in");
ofstream fout("sortaret.out");
#define N 50005
vector <int> a[N*2];
queue <int> coada;
int nrp[N];
int n,m,x,y;
int sol[N];
int contor,nod;
void bfs()
{
while (!coada.empty()) {
nod=coada.front();
coada.pop();
fout<<nod<<' ';
for (int i=0;i<a[nod].size();i++) {
nrp[a[nod][i]]--;
if (nrp[a[nod][i]]==0) {
coada.push(a[nod][i]);
}
}
}
}
int main()
{
fin>>n>>m;
for (int i=0;i<m;i++) {
fin>>x>>y;
a[x].push_back(y);
nrp[y]++;
}
for (int i=1;i<=n;i++) {
if (!nrp[i]) {
fout<<i<<' ';
for (int j=0;j<a[i].size();j++) {
coada.push(a[i][j]);
}
}
}
bfs();
}