Pagini recente » Cod sursa (job #1701415) | Cod sursa (job #2829711) | Cod sursa (job #2711416) | Cod sursa (job #2937248) | Cod sursa (job #508477)
Cod sursa(job #508477)
// constructing vectors
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
#define nmax 50002
vector <int> nod[nmax];
long n,m,p[nmax],crt,g[nmax],viz[nmax];
void citire()
{
long i,x,y;
ifstream in("sortaret.in");
in>>n>>m;
for(i=1;i<=m;i++)
{
in>>x>>y;
nod[x].push_back(y);
g[y]++;
}
}
void sort_t()
{
long i,j;
for(i=1;i<=n;i++)
if(!g[i] && !viz[i])
{
for(j=0;j<nod[i].size();j++)
g[nod[i][j]]--;
viz[i]=1;
p[++crt]=i;
if(crt==n)
break;
else
i=1;
}
}
void afisare()
{
long i;
ofstream out("sortaret.out");
for(i=1;i<=n;i++)
out<<p[i]<<" ";
}
int main ()
{
citire();
sort_t();
afisare();
}