cf D. Dima and Hares

http://codeforces.com/contest/358/problem/D

题意:ai代表相邻的两个野兔都没有吃食物情况下的快乐系数,bi代表的是在相邻的两个野兔中有一个吃到食物的快乐系数,ci代表的是相邻的两个野兔都迟到事物的快乐系数,给你n个野兔的快乐系数,求最大快乐系数。

dp[i][0]表示先于i+1个吃到食物的最大快乐系数,dp[i][1]表示后于i+1个吃到食物的最大快乐系数。

 #include <cstdio>
#include <cstring>
#include <algorithm>
#define maxn 10000
using namespace std; int n;
int a[maxn],b[maxn],c[maxn];
int dp[maxn][]; int main()
{
while(scanf("%d",&n)!=EOF)
{
for(int i=; i<=n; i++)
scanf("%d",&a[i]);
for(int i=; i<=n; i++)
scanf("%d",&b[i]);
for(int i=; i<=n; i++)
scanf("%d",&c[i]);
dp[n][]=a[n];
dp[n][]=b[n];
for(int j=n-; j>=; j--)
{
dp[j][]=max(dp[j+][]+b[j],dp[j+][]+a[j]);
dp[j][]=max(dp[j+][]+b[j],dp[j+][]+c[j]);
}
printf("%d\n",dp[][]);
}
return ;
}
上一篇:使用 Eclipse 调试 Java 程序的技巧


下一篇:eclipse中启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误