P1133 教主的花园

题目描述

教主有着一个环形的花园,他想在花园周围均匀地种上n棵树,但是教主花园的土壤很特别,每个位置适合种的树都不一样,一些树可能会因为不适合这个位置的土壤而损失观赏价值。

教主最喜欢3种树,这3种树的高度分别为10,20,30。教主希望这一圈树种得有层次感,所以任何一个位置的树要比它相邻的两棵树的高度都高或者都低,并且在此条件下,教主想要你设计出一套方案,使得观赏价值之和最高。

输入输出格式

输入格式:

输入文件garden.in的第1行为一个正整数n,表示需要种的树的棵树。

接下来n行,每行3个不超过10000的正整数ai,bi,ci,按顺时针顺序表示了第i个位置种高度为10,20,30的树能获得的观赏价值。

第i个位置的树与第i+1个位置的树相邻,特别地,第1个位置的树与第n个位置的树相邻。

输出格式:

输出文件garden.out仅包括一个正整数,为最大的观赏价值和。

输入输出样例

输入样例#1:

4
1 3 2
3 1 2
3 1 2
3 1 2
输出样例#1:

11

说明

【样例说明】

第1~n个位置分别种上高度为20,10,30,10的树,价值最高。

【数据规模与约定】

对于20%的数据,有n≤10;

对于40%的数据,有n≤100;

对于60%的数据,有n≤1000;

对于100%的数据,有4≤n≤100000,并保证n一定为偶数。

代码:

 #include<cstdio>
#include<algorithm>
using namespace std; const int MAXN = ;
int a[MAXN],b[MAXN],c[MAXN];
int f[MAXN][][]; //第i个位置,j树的种类,k上升/下降
int n,ans; int main()
{
scanf("%d",&n);
for (int i=; i<=n; ++i)
scanf("%d%d%d",&a[i],&b[i],&c[i]); for (int i=; i<=n; ++i)
{
f[i][][] = max(f[i-][][],f[i-][][])+a[i];
f[i][][] = f[i-][][]+b[i];
f[i][][] = f[i-][][]+b[i];
f[i][][] = max(f[i-][][],f[i-][][])+c[i];
}
ans = max(ans,f[n][][]+b[]);
ans = max(ans,f[n][][]+c[]);
ans = max(ans,f[n][][]+a[]);
ans = max(ans,f[n][][]+c[]);
ans = max(ans,f[n][][]+a[]);
ans = max(ans,f[n][][]+b[]);
printf("%d",ans);
return ;
}

最新文章

  1. 在CentOS或RHEL上安装Nux Dextop仓库
  2. 巴特沃斯(Butterworth)滤波器 (2) - 双线性变换
  3. ABZ理论
  4. 建立MySQL的ODBC
  5. Linux下修改系统编码的操作记录
  6. gitlab open ssl
  7. HBase使用场景和成功案例 (转)
  8. 添加无线服务wzcsvc服务,Eventlog服务
  9. 课堂所讲整理:Set和Map
  10. Keepalived高可用软件的安装与配置
  11. redhat6和ubuntu13.10在WMware player 下与Windows共享文件
  12. php 邮件发送代码-php邮件群发
  13. resolv.conf 是什么
  14. Hrbustoj 2266 Legendary Weights(辗转相除求最大公约数)
  15. 容易忽略的z-index失效问题
  16. 5th-个人总结(Alpha阶段)
  17. spawn-fcgi运行fcgiwrap
  18. vue的搭建项目
  19. 【数据分析】线性回归与逻辑回归(R语言实现)
  20. ElasticSearch 5.0及head插件安装

热门文章

  1. web service 对外发布一个hello world接口(入门)
  2. Python基础学习之序列(1)
  3. 【转】C内存操作函数
  4. 动态原型模式 js
  5. 2017.11.27 用Servlet在JSP中加入验证码
  6. 线程 Thread类 的四个构造方法简介
  7. c#winform初学习
  8. idea中不重启服务器更改代码(使用jrebel)
  9. CUDA数组分配
  10. socket上传nsdictionary的json数据异常