HNU 12834 Thread Tree

递归输出即可了

#include<bits/stdc++.h>
using namespace std;
struct tree{
    int dot;
    string s;
}t[1020];
vector<int>v[1020];
void print(int x)
{
    for(int i=0;i<v[x].size();i++)
    {
        for(int j=1;j<=t[v[x][i]].dot;j++)
            printf(".");
        cout<<t[v[x][i]].s<<endl;
        print(v[x][i]);
    }
}
int main()
{
    int n,x;
    scanf("%d",&n);
    t[0].dot=-1;
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&x);
        cin>>t[i].s;
        v[x].push_back(i);
        t[i].dot=t[x].dot+1;
    }
    print(0);
    return 0;
}


posted @ 2017-05-16 12:25  zhchoutai  阅读(180)  评论(0编辑  收藏  举报