Pagini recente » Cod sursa (job #453963) | Cod sursa (job #286966) | Cod sursa (job #1085238) | Cod sursa (job #1181668) | Cod sursa (job #394876)
Cod sursa(job #394876)
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\froman\fcharset0 Times New Roman;}{\f1\fswiss\fcharset0 Arial;}}
{\*\generator Msftedit 5.41.15.1507;}\viewkind4\uc1\pard\sb100\sa100\f0\fs24 #include <fstream> \par
#include <vector> \par
\par
using namespace std; \par
\par
vector <int> A[100001]; \par
int c[100001],viz[100001],n,m,k,i,cost[100001]; \par
void citeste_graf() \par
\{ int x,y; \par
ifstream f("bfs.in"); \par
\par
. f>>n>>m>>k; \par
for(i=0;i<=n;i++) cost[i]=-1; \par
\par
for(i=1;i<=m;i++) \par
\{ \par
f>>x>>y; \par
\par
\par
f.close(); \par
\} \par
\{ \par
int li,ls,nr_vecini; \par
li=1;ls=1; \par
c[li]=nod;viz[nod]=1;cost[nod]=0; \par
\par
while (li<=ls) \par
\{ \par
nr_vecini=A[c[li]].size(); \par
for(i=0;i<nr_vecini;i++) \par
\par
if (viz[A[c[li]][i]]==0) \par
\{ \par
ls++; \par
c[ls]=A[c[li]][i]; \par
\par
viz[A[c[li]][i]]=1; \par
cost[A[c[li]][i]]=cost[c[li]]+1; \par
\par
\} \par
li++; \par
\} \par
\par
void afisare() \par
\{ \par
ofstream g("bfs.out"); \par
for(i=1;i<=n;i++) \par
g<<cost[i]<<" "; \par
\par
g.close(); \par
\} \par
\par
int main() \par
\{ \par
citeste_graf(); \par
bfs(k); \par
afisare(); \par
return 0; \par
\}\par
\pard\f1\fs20\par
}