題目鏈結
問題描述
以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的**於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這些念頭中最長的一條因果鏈。
將念頭從1到n編號,念頭i**於念頭from[i],保證from[i]using namespace std;
const int n = 1000+5;
int len[n];
int main(int argc, char** ar**)
cout<< ans << '\n';
return 0;
}輸入格式
第一行乙個正整數n表示念頭的數量
接下來n行依次給出from[1],from[2],…,from[n]
輸出格式
共一行,乙個正整數l表示最長的念頭因果鏈中的念頭數量
樣例輸入80
1032
424樣例輸出
樣例說明
最長的因果鏈有:
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
演算法提高 分分鐘的碎碎念
時間限制 1 sec 記憶體限制 256 mb 提交 9 解決 4 提交 狀態 討論版 以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的 於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這...
演算法提高 分分鐘的碎碎念
問題描述 以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的 於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這些念頭中最長的一條因果鏈。將念頭從1到n編號,念頭i 於念頭from i 保證...
分分鐘的碎碎念
以前有個孩子,他分分鐘都在碎碎念。不過,他的念頭之間是有因果關係的。他會在本子裡記錄每乙個念頭,並用箭頭畫出這個念頭的 於之前的哪乙個念頭。翻開這個本子,你一定會被互相穿梭的箭頭給攪暈,現在他希望你用程式計算出這些念頭中最長的一條因果鏈。將念頭從1到n編號,念頭i 於念頭from i 保證from ...