Pagini recente » Istoria paginii runda/12951410473088131 | Istoria paginii runda/12951410473088131 | tema | Cod sursa (job #2748605) | Cod sursa (job #2384817)
#include <iostream>
#include <fstream>
#include <list>
#include <utility>
#include <queue>
using namespace std;
bool check[50];
int pred[50],d[50];
int main()
{
int x;
ifstream fin("graf.in");
while (fin>>x)
check[x]=true;
int st;
cin>>st;
queue <int> Q;
Q.push(st);
pred[st]=-1;
d[st]=0;
while (!Q.empty())
{
x=Q.front();
Q.pop();
if (check[x]) break;
for (int y:L[x])
if (!pred[y])
{
pred[y]=x;
d[y]=d[x]+1;
Q.push(y);
}
}
cout<<"cel mai apropiat punct de control este"<<x;
cout<<"distanta"<<d[x];
list <int> l;
while (x!=-1)
{
l.push_front(x);
x=pred[x];
}
for (int p:l) cout<<p<<" ";
return 0;
}