Cod sursa(job #2975822)

Utilizator ovidiu2007pavel ovidiu ovidiu2007 Data 7 februarie 2023 17:30:12
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.85 kb
<font color="#4b77fc">#include</font> <fstream><br/><font color="#4b77fc">#include</font> <queue><br/><font color="#4b77fc">#include</font> <vector><div></div><font color="#ef40b2">using</font> <font color="#ef40b2">namespace</font> std; <br/>vector<<font color="#5ac4c4">int</font>> g[100001];<br/><font color="#5ac4c4">bool</font> viz[100001];<br/><font color="#5ac4c4">int</font> dist[100001];<div></div>ifstream in(<font color="#30a52c">"bfs.in"</font>);<br/>ofstream out(<font color="#30a52c">"bfs.out"</font>);<div></div><font color="#5ac4c4">void</font> bfs(<font color="#5ac4c4">int</font> nod) {<br/>    queue<<font color="#5ac4c4">int</font>> q;<br/>    q.push(nod);<br/>    dist[nod] = 0;<br/>    viz[nod] = true;<br/>    <font color="#ef40b2">while</font>(!q.empty()) {<br/>        <font color="#5ac4c4">int</font> x = q.front();<br/>        q.pop();<br/>        <font color="#ef40b2">for</font>(<font color="#5ac4c4">int</font> exp : g[x]) {<br/>            <font color="#ef40b2">if</font>(viz[exp]) <font color="#ef40b2">continue</font>;<br/>            q.push(exp);<br/>            viz[exp] = 1;<br/>            dist[exp] = dist[x]+1;<br/>        }<br/>    }<br/>}<div></div><font color="#5ac4c4">int</font> main() {<br/>    <font color="#5ac4c4">int</font> n, m, nod;<br/>    cin >> n >> m >> nod;<br/>    <font color="#5ac4c4">int</font> a, b;<br/>    <font color="#ef40b2">for</font>(<font color="#5ac4c4">int</font> i = 0; i < m; i++) {<br/>        cin >> a >> b;<br/>        g[a].push_back(b);<br/>    }<br/>    bfs(nod);<br/>    <font color="#ef40b2">for</font>(<font color="#5ac4c4">int</font> i = 1; i <= n; i++) {<br/>        <font color="#ef40b2">if</font>(viz[i]) cout << dist[i] << <font color="#30a52c">" "</font>;<br/>        <font color="#ef40b2">else</font> cout << <font color="#30a52c">"-1 "</font>;<br/>    }<br/>    <font color="#ef40b2">return</font> 0;<br/>}