Pagini recente » Cod sursa (job #2838893) | Cod sursa (job #1565510) | Cod sursa (job #1831538) | Cod sursa (job #894695) | Cod sursa (job #1977715)
/*
Exemplificare BFS
http://www.infoarena.ro/problema/bfs
*/
#include <iostream>
#include <cstdio>
#include <fstream>
#include <vector>
#include <bitset>
#include <cassert>
#include <queue>
#include <cstring>
#include <stack>
using namespace std;
#define muchie pair<int,int>
vector<vector<int>> G;
vector<int> visited;
int n, m;
void dfs(int node){
visited[node] = 1;
cout << node << " ";
for(auto it = G[node].begin(); it != G[node].end(); it++){
if(!visited[*it]){
dfs(*it);
}
}
}
void solve(){
for(int i = 1; i <=n ; i++){
if(!visited[i]){
dfs(i);
}
}
}
int main() {
muchie mch;
FILE* f = freopen("sort-top.in", "r", stdin);
FILE* g = freopen("sort-top.out", "w", stdout);
cin>> n >> m;
G.resize(n+1);
visited.resize(n+1);
for(int i = 0; i < m; i++){
cin >> mch.first >> mch.second;
G[mch.first].push_back(mch.second);
}
solve();
fclose(f);
fclose(g);
return 0;
}