Pagini recente » Cod sursa (job #1120114) | Cod sursa (job #1109997) | Cod sursa (job #3224078) | Cod sursa (job #381546) | Cod sursa (job #546879)
Cod sursa(job #546879)
#include<iostream.h>
#include<fstream.h>
int a[10000][10000];
int main()
{int n,m,s,x,y,k,j,i;
ifstream f("bfs.in");
ofstream h("bfs.out");
f>>n>>m>>s;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=10000;
for(i=1;i<=m;i++)
{ f>>x>>y;
a[x][y]=1;}
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(a[i][j]>a[i][k]+a[k][j]&&i!=k&&j!=k)
a[i][j]=a[i][k]+a[k][j];
for(j=1;j<=n;j++)
{if(s==j&&a[s][s]==1)
h<<0<<" ";
else
if(a[s][j]==10000)
h<<-1<<" ";
else
h<<a[s][j]<<" ";}
return 0;}