Pagini recente » Cod sursa (job #1418393) | Istoria paginii utilizator/tusineanalq | Cod sursa (job #3030803) | Cod sursa (job #944506) | Cod sursa (job #864356)
Cod sursa(job #864356)
#include<fstream>
#include<vector>// STL
#define nmax 5002
using namespace std;
int n,m,d[nmax],q[nmax],a,b;
vector <int> G[nmax];
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int main()
{
f>>n>>m;
for(int i=1;i<=m;++i)
{
f>>a>>b;
G[a].push_back(b);
d[b]++;
}
for(int i=1;i<=n;++i)
if(d[i]==0)
q[++q[0]]=i;
for(int i=1;i<=n;++i)
{
int x=q[i];
vector <int> :: iterator it = G[x].begin();
vector <int> :: iterator sf = G[i].end();
for(;it!=sf;++it)
{
d[*it]--;
if(d[*it]==0)
q[++q[0]]=i;
}
}
for(int i=1;i<=n;++i)
g<<q[i]<<' ';
g.close();
return 0;
}