Cod sursa(job #1613754)
| Utilizator | Data | 25 februarie 2016 16:55:04 | |
|---|---|---|---|
| Problema | Sortare topologica | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,x,y,X,j,viz[5001],a[5001][5001],ord[5001],nr;
void DFS(int X)
{
int i;
viz[X]=1;
for(i=1;i<=n;i++)
if(!viz[i] and a[X][i]==1) DFS(i);
ord[++nr]=X;
}
int main()
{
f>>n>>m;
for(j=1;j<=m;j++)
{
f>>x>>y;
a[x][y]=1;
}
for(j=1;j<=n;j++)
if(!viz[j])DFS(j);
for(j=n;j>=1;j--)
g<<ord[j]<<" ";
return 0;
}
