Pagini recente » Cod sursa (job #1071346) | Cod sursa (job #138885) | Statistici Anghel Laura (Laura1399) | Istoria paginii utilizator/stoikris | Cod sursa (job #1431131)
#include <iostream>
#include <fstream>
#include <queue>
using namespace std;
int n;
void bfs(int source, vector< vector<int> > lista, int dist[], int visited[]){
visited[source] = 1;
queue<int> q;
q.push(source);
int node;
while(!q.empty()){
node = q.front();
q.pop();
for(int i=0; i<lista[node].size(); i++){
if(visited[ lista[node][i] ] == 0){
q.push( lista[node][i] );
dist[ lista[node][i] ] = dist[node] + 1;
}
}
}
ofstream out("bfs.out");
for(int i=1; i<=n; i++)
out<<dist[i]<<" ";
out.close();
}
int main(){
ifstream in("bfs.in");
int m,source;
in>>n>>m>>source;
cout<<n<<" "<<m<<" "<<source;
vector< int > aux;
vector< vector <int> > lista(n+1, aux);
int x,y;
for(int i=0; i<m; i++){
in>>x>>y;
cout<<x<<" "<<y<<endl;
lista[x].push_back(y);
}
in.close();
for(int i=1; i<=n; i++){
cout<<i<<" : ";
for(int j=0; j<lista[i].size(); j++){
cout<<lista[i][j]<<" ";
}
cout<<endl;
}
int visited[n];
int dist[n];
for(int i=1; i<=n; i++){
visited[i] = 0;
dist[i] = -1;
}
}