Cod sursa(job #1858361)
Utilizator | Data | 27 ianuarie 2017 15:07:29 | |
---|---|---|---|
Problema | Sortare topologica | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("sortaret.in");
ofstream g("sortaret.out");
int n,m,a[20001][20001],x[50001],j;
void citire()
{
f>>n>>m;
int x1,x2;
for(int i=1;i<=m;i++)
f>>x1>>x2,a[x1][x2]=1;
}
void df(int k)
{
for(int i=1;i<=n;i++)
if(a[k][i])
{
a[i][k]=0;
a[k][i]=0;
df(i);
}
x[++j]=k;
}
int main()
{
citire();
df(1);
for(int i=j;i>=1;i--)
g<<x[i]<<" ";
return 0;
}