Cod sursa(job #1950774)

Utilizator qqqpppqqq ppp qqqppp Data 3 aprilie 2017 11:39:38
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fin("sate.in");
ofstream fout("sate.out");

int n,m,i,k,c[103000];
vector <int> t[103000];
queue <int> coada;

void parc(int k){
    coada.push(k);
    c[k]=1;
    while (!coada.empty()){
        int q=coada.front();
        coada.pop();
        for (int i=0; i<t[q].size(); i++)
            if (c[t[q][i]]==0) {
                c[t[q][i]]=c[q]+1;
                coada.push(t[q][i]);
            }
    }
}

int main() {
    fin>>n>>m>>k;
    for (int i=1; i<=m; i++){
        int a,b;
        fin>>a>>b;
        t[a].push_back(b);}
    parc(k);
    for (i=1; i<=n; i++)
    fout<<c[i]-1<<" ";
}