sgu195 分类: sgu 2015-04-30 21:39 29人阅读 评论(0) 收藏


这么水没必要写题解。


#include<map>
#include<stack>
#include<queue>
#include<ctime>
#include<cmath>
#include<string>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<utility>
#include<iostream>
#include<algorithm>

const int MAXN = 500005;

int n;
bool vis[MAXN] = {false};
int fa[MAXN] = {0};
int ansl = 0,ans[MAXN] = {0};

int main()
{
#ifndef ONLINE_JUDGE
    freopen("sgu195.in","r",stdin);
    freopen("sgu195.out","w",stdout);
#endif

    scanf("%d",&n);
    for(int i = 2; i <= n; i++)
      scanf("%d",&fa[i]);

    for(int i = n; i > 1; i--)
    {
        if(vis[i] || vis[fa[i]]) continue;

        ans[++ansl] = i;
        vis[i] = vis[fa[i]] = true;
    }
    printf("%d\n",ansl*1000);
    for(int i = ansl; i >= 1; i--)
      printf("%d ",ans[i]);

#ifndef ONLINE_JUDGE
    fclose(stdin);
    fclose(stdout);
#endif
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2015-04-30 21:39  <Dash>  阅读(127)  评论(0)    收藏  举报