Mai intai trebuie sa te autentifici.
Cod sursa(job #2810080)
Utilizator | Data | 28 noiembrie 2021 13:51:24 | |
---|---|---|---|
Problema | Sortare topologica | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include <fstream>
#include<vector>
using namespace std;
ifstream cin("sortaret.in");
ofstream cout("sortaret.out");
int n;
vector<bool>use;
vector<vector<int>>g;
vector<int>sol;
void read()
{
int m,x,y;
cin>>n>>m;
use=vector<bool>(n+1);
g=vector<vector<int>>(n+1);
for(int i=1; i<=m; i++)
{
cin>>x>>y;
g[x].push_back(y);
}
}
void dfs(int np)
{
use[np]=1;
for(auto v:g[np])
if(!use[v])
dfs(v);
sol.push_back(np);
}
void afisare()
{
for(auto e:sol)
cout<<e<<' ';
}
int main()
{
read();
for(int i=1; i<=n; i++)
if(!use[i])
dfs(i);
afisare();
}