Cod sursa(job #2943787)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 21 noiembrie 2022 17:36:10
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include<bits/stdc++.h>
using namespace std;
ifstream F("bfs.in");
ofstream G("bfs.out");
vector<int> a[100001];
int i,j,n,m,s,k,d[100001];
queue<int> q;
int main()
{
    for(F>>n>>m>>s;m--;F>>i>>j,a[i].push_back(j));
    for(i=1;i<=n;d[i++]=100000);
    for(d[s]=0,q.push(s);!q.empty();)
        for(i=q.front(),q.pop(),k=a[i].size(),j=0;j<k;++j)
            if(d[a[i][j]]>d[i]+1)
                d[a[i][j]]=d[i]+1,q.push(a[i][j]);
    for(i=1;i<=n;G<<(d[i]==100000?-1:d[i])<<' ',++i);
    return 0;
}