Pagini recente » Cod sursa (job #2757876) | Cod sursa (job #3193144) | Cod sursa (job #2724265) | Cod sursa (job #77486) | Cod sursa (job #710910)
Cod sursa(job #710910)
#include <fstream>
#include <queue>
using namespace std;
ifstream f("bfs.in");
ofstream g("bfs.out");
int vizitat[100];
int matrice[100][100];
int main()
{
int n, m, s, p=1, u=1, nod, vecin, i, luat;
f>>n>>m>>s;
for(i=1; i<=m; i++)
{
f>>nod>>vecin;
if(nod!=vecin)
{
matrice[nod][vecin]=1;
}
}
queue<int> coada;
coada.push(s);
vizitat[s]=1;
while(!coada.empty())
{
luat=coada.front();
for(i=1; i<=n; i++)
{
if(matrice[luat][i]==1 && !vizitat[i])
{
vizitat[i]=vizitat[luat]+1;
coada.push(i);
}
}
coada.pop();
}
for(i=1; i<=n; i++)
{
g<<vizitat[i]-1<<" ";
}
}