1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富

Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 793  Solved: 450 [Submit][Status][Discuss]

Description

最近,奶牛们热衷于把金币包在面粉里,然后把它们烤成馅饼。第i块馅饼中含有Ni(1<=Ni<=25)块金币,并且,这个数字被醒目地标记在馅饼表面。 奶牛们把所有烤好的馅饼在草地上排成了一个R行(1<=R<=100)C列(1<=C<=100)的矩阵。你现在站在坐标为(1,1)的馅饼边上,当然,你可以拿到那块馅饼里的所有金币。你必须从现在的位置,走到草地的另一边,在坐标为(R,C)的馅饼旁边停止走动。每做一次移动,你必须走到下一列的某块馅饼旁边,并且,行数的变动不能超过1(也就是说,如果现在你站在坐标为(r,c)的馅饼边上,下一步你可以走到坐标为(r-1,c+1),(r,c+1),或者(r+1,c+1)的馅饼旁边)。当你从一块馅饼边经过,你就可以拿走馅饼里所有的金币。当然啦,你一定不会愿意因半路离开草地而失去唾手可得的金币,但,最终你一定得停在坐标为(R,C)的馅饼旁边。 现在,你拿到了一张标记着馅饼矩阵中,每一块馅饼含金币数量的表格。那么,按照规则,你最多可以拿到多少金币呢? 比方说,奶牛们把馅饼排成如下的矩阵,矩阵中的数字表示该位置的馅饼中含金币的数量:

6 5 3 7 9 2 7 2 4 3 5 6 8 6 4 9 9 9 1 5 8

以下是条合法的路线

按上述的路线进行走动,一共可以获得6+4+9+9+6+5+8=47个金币.按照规则,在这个矩阵中最多可以得到50个金币,路线如下图所示:

Input

* 第1行: 两个用空格隔开的整数,R和C

* 第2..R+1行: 每行包含C个用空格隔开的正整数,依次表示一行中从左往右各 个馅饼里金币的数量

Output

* 第1行: 输出一个正整数,表示你所能收集到的最大金币数目

Sample Input

3 7
6 5 3 7 9 2 7
2 4 3 5 6 8 6
4 9 9 9 1 5 8

Sample Output

50
dp
#include <cstdio>
#include <algorithm>
using namespace std;
char buf[10000000], *ptr = buf - 1;
inline int readint(){int n = 0;char ch = *++ptr;while(ch < '0' || ch > '9') ch = *++ptr;while(ch <= '9' && ch >= '0'){n = (n << 1) + (n << 3) + ch - '0';ch = *++ptr;}return n;
}
const int INF = 0x3f3f3f3f;
int num[100 + 10][100 + 10], f[2][100 + 10];
int main(){fread(buf, sizeof(char), sizeof(buf), stdin);int R, C;R = readint();C = readint();for(int i = 1; i <= R; i++)for(int j = 1; j <= C; j++)num[i][j] = readint();f[1][1] = num[1][1];for(int i = 2; i <= R; i++)f[1][i] = -INF;for(int now, i = 2; i <= C; i++){now = i & 1;for(int j = 1; j <= R; j++){f[now][j] = -INF;if(j != 1) f[now][j] = f[now ^ 1][j - 1];f[now][j] = max(f[now][j], f[now ^ 1][j]);if(j != R) f[now][j] = max(f[now][j], f[now ^ 1][j + 1]);f[now][j] += num[j][i]; }}printf("%d\n", f[C & 1][R]);return 0;
}

转载于:https://www.cnblogs.com/ruoruoruo/p/7544630.html

[BZOJ1668][Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富相关推荐

  1. bzoj 1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富(DP)

    1668: [Usaco2006 Oct]Cow Pie Treasures 馅饼里的财富 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 786  So ...

  2. bzoj1670【Usaco2006 Oct】Building the Moat 护城河的挖掘

    1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 387  Sol ...

  3. bzoj 1667: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛(BFS)

    1667: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛 Time Limit: 1 Sec  Memory Limit: 64 MBSec  Special Judge S ...

  4. bzoj 1670: [Usaco2006 Oct]Building the Moat护城河的挖掘(凸包)

    1670: [Usaco2006 Oct]Building the Moat护城河的挖掘 Time Limit: 3 Sec  Memory Limit: 64 MB Submit: 624  Sol ...

  5. BFS【bzoj1667】: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛

    1667: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛 Description 经过跟Farmer John长达数年的谈判,奶牛们终于如愿以偿地得到了想要的旱冰鞋.农场上大 ...

  6. bzoj1669[Usaco2006 Oct]Hungry Cows饥饿的奶牛*

    bzoj1669[Usaco2006 Oct]Hungry Cows饥饿的奶牛 题意: 求最长单调递增子序列,序列大小≤5000 题解: 蒟蒻弱写了一个O(n^2)的. 代码: 1 #include ...

  7. [BZOJ1669][Usaco2006 Oct]Hungry Cows饥饿的奶牛

    1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1000  Solved: 6 ...

  8. bzoj 1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐(暴力DFS)

    1648: [Usaco2006 Dec]Cow Picnic 奶牛野餐 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 774  Solved: 480 ...

  9. bzoj 1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛

    1669: [Usaco2006 Oct]Hungry Cows饥饿的奶牛 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 990  Solved: 64 ...

  10. [codeforces 1304A] Cow and Haybales 阴沟里翻船

    Codeforces Round #621 (Div. 1 + Div. 2) [codeforces 1304A] Cow and Haybales   阴沟里翻船 总目录详见https://blo ...

最新文章

  1. Golang微服务开发实践
  2. Redis进阶-细说分布式锁
  3. arcgis java api_Arcgis API For Javascript下载与安装
  4. ElasticSearch5.x实践_day05_03_Mapping_Meta-Fields
  5. 消息映射的服务器的设计与实现
  6. 天池大赛, Storm
  7. CVE-2009-3459
  8. 演示教学法在计算机基础课程中的应用,演示教学法在《计算机基础》课程中的应用...
  9. 浅谈 PHP 与手机 APP 开发(API 接口开发) 1
  10. 数据结构--直接插入排序
  11. 倒角距离(Chamfer distance)和earth mover‘s diatance
  12. 在SpringMVC中使用拦截器(interceptor)拦截CSRF***
  13. python全栈开发网络_Python 全栈开发:网络编程
  14. puppet连载15:搭建zabbix服务端、客户端
  15. .net环境下如何使用MySql数据库
  16. oracle中的自增关键字,Oracle中设置自增字段
  17. 【Codeforces576E_CF576E】Painting Edges(可撤销并查集+线段树分治)
  18. Android EditText 常见问题总结
  19. python线程,进程,队列和缓存
  20. 机会难得 | 这家上市公司终于招人了

热门文章

  1. PhotoShop 各历史版本,你最熟悉哪版?
  2. Gigapixel AI 6.0 for Mac(图片无损放大软件)
  3. Mac上的Dock 栏如何设置更好用?
  4. 如何恢复Mac上已删除的文件?
  5. Mac用户如何在Deckset中使用Ulysses?
  6. Mac上如何使用Rss阅读器个性化订阅网站最新内容?
  7. android selector 开始自定义样式
  8. (转)ARM Linux启动过程分析
  9. 把DamnSmallLinux(DSL)安装到硬盘(虚拟机)并安装GCC
  10. LinkedList 真的是查找慢增删快?刷新你的认知!