Pagini recente » Cod sursa (job #1463475) | Cod sursa (job #3199216) | Cod sursa (job #2606490) | Cod sursa (job #1083770) | Cod sursa (job #1751046)
#include<iostream>
#include<vector>
#include<fstream>
using namespace std;
vector<int> a[30003];
int x,y;
vector<int> distante[30003];
int vizitat[30003];
int coada[100027];
void bfs(int start)
{
int inceput,sfarsit;
inceput=sfarsit=1;
coada[inceput]=start;
vizitat[start]=1;
while(inceput<=sfarsit)
{
for(int i=0;i<a[coada[inceput]].size();i++)
{
if(vizitat[a[coada[inceput]][i]]==0)
{
sfarsit++;
coada[sfarsit]=a[coada[inceput]][i];
if(coada[sfarsit]==y)
{
i=inceput=sfarsit+1;
break;
}
vizitat[a[coada[inceput]][i]]=1;
}
}
inceput++;
}
}
int main()
{
ifstream f("sate.in");
ofstream g("sate.out");
int n,m;
f>>n>>m>>x>>y;
for(int i=0;i<m;i++)
{
int sat1,sat2,distanta;
f>>sat1>>sat2;
f>>distanta;
distante[sat1].push_back(distanta);
distante[sat2].push_back(distanta);
a[sat1].push_back(sat2);
a[sat2].push_back(sat1);
}
bfs(x);
g<<100;
}