Pagini recente » Cod sursa (job #2947498) | Cod sursa (job #807655) | Cod sursa (job #3250158) | Cod sursa (job #416340) | Cod sursa (job #1044300)
/*#include<stdio.h>
#include<vector>
#include<queue>
using namespace std;
#define NMAX 100005
struct drum
{
int x,c;
};
int n,m,f[NMAX];
bool bun[NMAX],viz[NMAX];
drum aux;
vector<drum> v[NMAX];
queue<int>q;
bool bfs(int x)
{
int i,ok=0;
viz[x]=1;
for(i=0;i<v[x].size();++i)
{
if(!viz[v[x][i].x])
if(bfs(v[x][i].x))
ok=1;
}
if(ok==1 || bun[x])
return 1;
f[x]=-1;
return 0;
}
int main()
{
freopen("posta2.in","r",stdin);
freopen("posta2.out","w",stdout);
int i,x,y;
scanf("%d%d",&n,&m);
for(i=1;i<n;++i)
{
scanf("%d%d%d",&x,&y,&aux.c);
aux.x=y;
v[x].push_back(aux);
aux.x=x;
v[y].push_back(aux);
}
for(i=1;i<=n;++i)
scanf("%d",&f[i]);
for(i=1;i<=m;++i)
{
scanf("%d",&x);
bun[x]=1;
}
bfs(bun[1]);
for(i=1;i<=n;++i)
if(f[i]!=-1)
printf("%d ",i);
return 0;
}*/
/*void bfs()
{
int x=bun[1],i;
q.push(x);
while(!q.empty())
{
x=q.front();
q.pop();
for(i=0;i<v[i].size();++i)
{
}
}
}*/