407B. Long Path - Codeforces Solution C++

  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!!