Cod sursa(job #2128657)

Utilizator TESTHARD123TEST CENTRE TESTHARD123 Data 11 februarie 2018 22:00:54
Problema BFS - Parcurgere in latime Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include<bits/stdc++.h>
using namespace std;

#define shit ios_base::sync_with_stdio(0); fin.tie(0);
#define pb push_back
int n,m,s;

vector <int> my[100010];
int c[100010],viz[100010];

int main(){
ifstream fin("bfs.in");
ofstream fout("bfs.out");
shit
int x,y,p,u,z;
fin>>n>>m>>s;
for(int i(1),x,y;i<=m;i++){
	fin>>x>>y;
	if(x!=y) my[x].pb(y);	else continue;
}
c[1]=s; viz[s]=1; p=u=1;
    while(p<=u){
        z=c[p]; p++;
        for(int i(0);i<my[z].size();i++){
            y=my[z][i];
            if(viz[y]==0){
                viz[y]=viz[z]+1;
                u++;
                c[u]=y;
            }
        }
    }
    for(int i(1);i<=n;i++)
        fout<<viz[i]-1<<' ';
	return 0;
}