解题思路:读懂题目很重要,题目的意思是form[i]中保存的是念头的来源,假如form[i]中的是5,那么他的念头就进入form[5],form[5],保存的是0,那因果链就断了,因为0是没有来源的
注意事项:
参考代码:
#include<bits/stdc++.h> using namespace std; int form[1005]; int dp[1005]; int opt(int i) { if(form[i]==0)return 1; if(i==0)return 0; if(dp[i]!=0)return dp[i]; return opt(form[i])+1; } int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>form[i]; } int manx=0; for(int i=n;i>=1;i--) { manx=max(opt(i),manx); } cout<<manx<<endl; return 0; }
0.0分
0 人评分
1071题解浏览:584 |
C语言训练-自守数问题 (C语言代码)浏览:798 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:812 |
小O的图案 (C语言代码)浏览:979 |
小O的乘积 (C语言代码)浏览:1062 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:2206 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:1059 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:490 |
非常简单的算法,题解1049:C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:639 |
C语言程序设计教程(第三版)课后习题6.7 (C++代码)浏览:602 |