Pagini recente » Cod sursa (job #2816269) | Cod sursa (job #517736) | Cod sursa (job #1724167) | Cod sursa (job #546575) | Cod sursa (job #951808)
Cod sursa(job #951808)
#include<fstream>
#include<queue>
#include<vector>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
vector<int>v[50100];
queue<int>c;
int d[50100],i,n,m,x,y,nr;
void par(int x)
{
for(i=0;i<v[x].size();++i)
{
if(d[v[x][i]]==1)
{
c.push(v[x][i]);
g<<v[x][i]<<" ";
d[v[x][i]]=0;
}
else
if(d[v[x][i]])
d[v[x][i]]--;
}
}
int main ()
{
f>>n>>m;
for(i=1;i<=m;++i)
{
f>>x>>y;
v[x].push_back(y);
d[y]++;
}
for(i=1;i<=n;++i)
{
if(!d[i])
{
g<<i<<" ";
c.push(i);
}
}
while(c.size())
{
par(c.front());
c.pop();
}
g<<"\n";
return 0;
}