nyoj-20--吝啬的国度-DFS+vector

来源:互联网 发布:淘宝开店怎么收费标准 编辑:程序博客网 时间:2024/04/26 07:29

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=20

#include<stdio.h>#include<string.h>#include<vector>using namespace std;vector<int> G[100005];int s[100005];int vis[100005];void dfs(int x){    for(int i=0;i<G[x].size();i++)    {        if(!s[G[x][i]])        {            s[G[x][i]]=x;            dfs(G[x][i]);        }    }}int main(){    int M,N,SB,a,b,i;    scanf("%d",&M);    while(M--)    {        scanf("%d%d",&N,&SB);        memset(G,0,sizeof(G));        memset(s,0,sizeof(s));        s[SB]=-1;        for(i=1;i<N;i++)        {           scanf("%d%d",&a,&b);           G[a].push_back(b);           G[b].push_back(a);        }        dfs(SB);        printf("%d",s[1]);        for(i=2;i<=N;i++)        {            printf(" %d",s[i]);        }        printf("\n");    }}


原创粉丝点击