zoukankan      html  css  js  c++  java
  • #1542 : 无根数变有根树

    时间限制:10000ms
    单点时限:1000ms
    内存限制:256MB

    描述

    给定一棵包含 N 个节点的无根树,小Hi想知道如果指定其中某个节点 K 为根,那么每个节点的父节点是谁?

    输入

    第一行包含一个整数 N 和 K。1 ≤ N ≤ 1000, 1 ≤ K ≤ N。    

    以下N-1行每行包含两个整数 a 和 b,代表ab之间存在一条边。 1 ≤ ab ≤ N。  

    输入保证是一棵树。

    输出

    输出一行包含 N 个整数,分别代表1~N的父节点的编号。对于 K 的父节点输出0。

    样例输入
    5 4  
    1 2  
    3 1  
    4 3  
    5 1
    样例输出
    3 1 4 0 1
    #include <bits/stdc++.h>
    using namespace std;
    int n, k, x, y;
    vector<int>v[1010];
    int fa[1010];
    void dfs(int f, int k) {
    
        for (int i = 0; i < v[k].size(); ++i) {
            int x = v[k][i];
            if (x == f) continue;
            fa[x] = k;
            dfs(k , x);
        }
    }
    int main() {
        cin>>n>>k;
        for (int i = 1; i < n; ++i) {
            cin>>x>>y;
            v[x].push_back(y);
            v[y].push_back(x);
        }
        memset(fa, 0 ,sizeof fa);
        dfs(-1, k);
        for (int i = 1; i <= n; ++i) {
            printf("%d%c",fa[i], i == n ? 10 : ' ');
        }
        return 0;
    }
  • 相关阅读:
    有没有用户体验+UI+前端集于一身的人
    ruby array.count
    ruby subset
    向李刚同学道歉
    rails3转载
    RVM and Capistrano
    paperclip自定制文件名
    ruby爬虫
    rails3已经内置subdomain
    摘录
  • 原文地址:https://www.cnblogs.com/pk28/p/7259747.html
Copyright © 2011-2022 走看看