Cod sursa(job #3341783)
| Utilizator | Data | 20 februarie 2026 21:51:48 | |
|---|---|---|---|
| Problema | Sortare topologica | Scor | 30 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <bits/stdc++.h>
using namespace std;
int viz[1001];
vector<int> a[1001],sol;
void dsf(int nod)
{
viz[nod]=1;
for(auto it: a[nod])
{
if(!viz[it])
{
dsf(it);
}
}
sol.push_back(nod);
}
int main ()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
int n,m;
cin>>n>>m;
for(int i=1; i<=m; i++)
{
int v,w;
cin>>v>>w;
a[v].push_back(w);
}
for(int i=1; i<=n; i++)
{
if(!viz[i])
{
dsf(i);
}
}
reverse(sol.begin(),sol.end());
for(auto it:sol)
{
cout<<it<<" ";
}
}