Pagini recente » Cod sursa (job #2213802) | Cod sursa (job #1940830) | Cod sursa (job #2948428) | Cod sursa (job #1763361) | Cod sursa (job #3122579)
#include <bits/stdc++.h>
using namespace std;
int n,m,sol,m1,m2,s,deg;
vector<vector<int>>adj(100010);
vector<int>dist(100010,-1);
void bfs()
{
queue<int>q;
q.push(s);
deg = 1;
while(!q.empty())
{
for(int i = 0; i < adj[q.front()].size(); i++)
{
if(dist[adj[q.front()][i]] == -1)
{
q.push(adj[q.front()][i]);
dist[adj[q.front()][i]] = dist[q.front()] + 1;
}
}
q.pop();
}
}
int main()
{
ifstream cin("bfs.in");
ofstream cout("bfs.out");
cin>>n>>m>>s;
for(int i = 0; i < m; i++)
{
cin>>m1>>m2;
adj[m1].push_back(m2);
}
dist[s] = 0;
bfs();
for(int i = 1; i <= n; i++)
cout<<dist[i]<<" ";
return 0;
for(int i = 1; i <= n; i++)
{
for(int j = 0; j < adj[i].size(); j++)
cout<<adj[i][j]<<" ";
cout<<endl;
}
}