算法提高 分分钟的碎碎念

来源:互联网 发布:淘宝店侦探软件下载 编辑:程序博客网 时间:2024/05/16 06:10

时间限制:1.0s 内存限制:256.0MB
提交此题
问题描述
  以前有个孩子,他分分钟都在碎碎念。不过,他的念头之间是有因果关系的。他会在本子里记录每一个念头,并用箭头画出这个念头的来源于之前的哪一个念头。翻开这个本子,你一定会被互相穿梭的箭头给搅晕,现在他希望你用程序计算出这些念头中最长的一条因果链。
  将念头从1到n编号,念头i来源于念头from[i],保证from[i]

#include<iostream>#include<algorithm>using namespace std;int from[1200];int main(){    int n;    int maxsum=-1;    cin>>n;    for (int i=1;i<=n;i++)    {        cin>>from[i];    }    for (int i=1;i<=n;i++)    {        int sum=1;        int res=from[i];        while(res!=0)        {            res=from[res];            sum++;        }        if (maxsum<sum)        {            maxsum=sum;        }    }    cout<<maxsum;    return 0;}
0 0
原创粉丝点击