Pagini recente » Cod sursa (job #1736272) | Cod sursa (job #559639) | Cod sursa (job #11136) | Cod sursa (job #218981) | Cod sursa (job #1093949)
#include<iostream>
#include<fstream>
#include<vector>
#include<queue>
using namespace std;
ifstream in("grafxy.in");
ofstream out("grafxy.out");
vector <int> v[100001];
queue <int> c;
int n,m,p1,p2,x[100001],y[100001],viz[100001],aux;
void citire ()
{ int a,b;
in>>n>>m;
for(int i=1; i<=m; i++)
{in>>a>>b;
v[a].push_back(b);
v[b].push_back(a);
}
in>>p1;
for(int i=1; i<=p1;i++)
in>>x[i];
in>>p2;
for(int i=1;i<=p2;i++)
in>>y[i];
}
bool test(int a)
{
for(int i=1; i<=p2; i++)
if(a==y[i])
return 1 ;
return 0;
}
int bfs (int varf)
{
c.push(varf);
while(!c.empty() )
{
for(int i=0; i<v[c.front()].size();i++)
{ if(viz[v[c.front()][i]]==0 && v[c.front()][i]!=aux )
{
viz[v[c.front()][i]]=viz[c.front()]+1;
c.push(v[c.front()][i]);
}
if(test(v[c.front()][i])==1)
{
out<<1<<" ";
return 0;
}
}
c.pop();
bfs(c.front());
}
}
int main ()
{
citire();
// for(int i=1; i<=p1; i++)
// {aux=x[i];
// bfs(x[1]);
// for(int j=1; j<=n; j++)
// viz[j]=0;
// }
for(int i=1; i<=n; i++ )
{for(int j=0; j<v[i].size();j++)
cout<<v[i][j]<<" ";
cout<<endl;
}
in.close();
out.close();
return 0;
}