Pagini recente » Cod sursa (job #374058) | Cod sursa (job #1361359) | Cod sursa (job #985925) | Cod sursa (job #288411) | Cod sursa (job #589093)
Cod sursa(job #589093)
#include<vector>
#include<fstream>
#include<queue>
using namespace std;
ifstream in("sortaret.in");
ofstream out("sortaret.out");
const int N=50001;
vector<int>a[N];
queue<int>coada;
int g[N],n,m;
void read()
{
int x,y;
in>>n>>m;
for(int i=1;i<=m;i++)
{
in>>x>>y;
a[x].push_back(y);
++g[y];
}
}
void bfs()
{
int x,r;
for(int i=1;i<=n;i++)
if(!g[i])
coada.push(i);
while(!coada.empty())
{
x=coada.front();
out<<x<<" ";
coada.pop();
for(int i=0;i<a[x].size();i++)
{
r=a[x][i];
g[r]--;
if(!g[r])
coada.push(r);
}
}
}
int main()
{
read();
bfs();
return 0;
}