➤ Problem Link : 407B. Long Path
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int #define m 1000000007 int main() { int n; cin>>n; ll arr[n+1]; for(ll i=1;i<=n;i++) cin>>arr[i]; ll dp[n+2][n+2]; memset(dp,0,sizeof(dp)); dp[1][2]=2; for(int i=3;i<=n+1;i++) { for(int j=1;j<i;j++) dp[j][i]=(dp[j][i-1]+dp[arr[i-1]][i-1]+2)%m; } cout<<dp[1][n+1]; }
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!
➤ Problem Link : 407B. Long Path
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int #define m 1000000007 int main() { int n; cin>>n; ll arr[n+1]; for(ll i=1;i<=n;i++) cin>>arr[i]; ll dp[n+2][n+2]; memset(dp,0,sizeof(dp)); dp[1][2]=2; for(int i=3;i<=n+1;i++) { for(int j=1;j<i;j++) dp[j][i]=(dp[j][i-1]+dp[arr[i-1]][i-1]+2)%m; } cout<<dp[1][n+1]; }
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!