Pagini recente » Cod sursa (job #711171) | Cod sursa (job #423294) | Cod sursa (job #1751909) | Cod sursa (job #187667) | Cod sursa (job #964100)
Cod sursa(job #964100)
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
int contor[50001];
vector <int> v[50001];
int main()
{
ifstream f("sortaret.in");
int n,m,x_nou,y_nou;
queue <int> coada;
f>>n>>m;
int i;
for(i=0;i<m;i++)
{
f>>x_nou>>y_nou;
v[x_nou].push_back(y_nou);
++contor[y_nou];
}
f.close();
ofstream g("sortaret.out");
for(i=1;i<=n;++i)
if(!contor[i])
{
coada.push(i);
g<<i<<" ";
}
int x;
vector <int>::iterator it;
while(!coada.empty())
{
x = coada.front();
for(it = v[x].begin();it != v[x].end();++it)
{
--contor[*it];
if(!contor[*it])
{
coada.push(*it);
g<<*it<<" ";
}
}
coada.pop();
}
g.close();
return 0;
}