Cod sursa(job #3307071)
| Utilizator | Data | 16 august 2025 21:45:00 | |
|---|---|---|---|
| Problema | Sortare topologica | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <bits/stdc++.h>
using namespace std;
const int NMAX=5e4;
vector<int> mat[NMAX+5];
vector<bool> vizitat(NMAX+5);
vector<int> ans;
void bfs(int nod){
vizitat[nod]=1;
for(auto it:mat[nod]){
if(vizitat[it]==0){
bfs(it);
}
}
ans.push_back(nod);
}
int main(){
int n, m;
cin>>n>>m;
int radacina=0;
for(int i=1;i<=n;i++){
radacina^=i;
}
for(int i=1;i<=m;i++){
int x, y;
cin>>x>>y;
radacina^=y;
mat[x].push_back(y);
}
bfs(radacina);
for(auto it:ans){
cout<<it<<' ';
}
}
