演算法提高 分分鐘的碎碎念

2021-07-26 09:59:52 字數 895 閱讀 9031

時間限制: 1 sec  記憶體限制: 256 mb

提交: 9  解決: 4 [

提交][

狀態][

討論版]

以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的**於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這些念頭中最長的一條因果鏈。

將念頭從1到n編號,念頭i**於念頭from[i],保證from[i]第一行乙個正整數n表示念頭的數量

接下來n行依次給出from[1],from[2],…,from[n]

共一行,乙個正整數l表示最長的念頭因果鏈中的念頭數量

801032424
3

最長的因果鏈有:

1->2->5 (from[5]=2,from[2]=1,from[1]=0)

1->2->7 (from[7]=2,from[2]=1,from[1]=0)

3->4->6 (from[6]=4,from[4]=3,from[3]=0)

3->4->8 (from[8]=4,from[4]=3,from[3]=0)

資料規模和約定

1<=n<=1000

#include#include#includeusing namespace std;

int main()

{ int n,sum=0,a[1001],i,temp,max=-1,t;

setq;

cin>>n;

for(i=1;i<=n;i++)

cin>>a[i];

for(i=1;i<=n;i++)

{ temp=i;

sum=1;

while(a[temp]

演算法提高 分分鐘的碎碎念

問題描述 以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的 於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這些念頭中最長的一條因果鏈。將念頭從1到n編號,念頭i 於念頭from i 保證...

演算法提高 分分鐘的碎碎念

題目鏈結 問題描述 以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的 於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這些念頭中最長的一條因果鏈。將念頭從1到n編號,念頭i 於念頭from...

分分鐘的碎碎念

以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的 於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這些念頭中最長的一條因果鏈。將念頭從1到n編號,念頭i 於念頭from i 保證from ...