Henry捡钱

(money.pas/c/cpp)

来源:Dream Team邀请赛

【问题描述】

最近,Henry由于失恋(被某大牛甩掉!)心情很是郁闷.所以,他去了大牛家,寻求Michael大牛的帮助,让他尽快从失恋的痛苦中解脱出来.Michael大牛知道Henry是很爱钱的,所以他是费尽脑水,绞尽脑汁想出了一个有趣的游戏,帮助Henry.....

Michael感觉自己简直是个天才(我们从不这么认为),就把这个游戏取名为:Henry拣钱.为了帮助更多的人采用这种方法早日脱离失恋之苦,Michael特地选在这次DT比赛中把游戏介绍给大家...(大家鼓掌!!!)

其实,这个游戏相当垃圾,目的就是为了满足Henry这种具有强烈好钱的心理的人.游戏是这样的:Michael首先找到了一块方形的土地,面积为m*n(米^2).然后他将土地划分为一平方米大小的方形小格.Michael在每个格子下都埋有钱(用非负数s表示,表示人民币的价值为s)和炸弹(用负数s表示,表示Henry挖出该方格下的东西会花掉s的钱去看病,医炸弹炸伤的伤口)...游戏的要求就是让Henry从一侧的中间列出发,按照下图的5种方式前进(前进最大宽度为5),不能越出方格.他每到一个格子,必定要取走其下相应的东西.直到到达土地的另一侧,游戏结束.不用说也知道,Henry肯定想得到最多的人民币.所以他偷窥了,Michael埋钱的全过程,绘成了一张距阵图.由于他自己手动找会很麻烦,于是他就找到了学习编程的你.请给帮他找出,最大人民币价值.

拣钱路线规则(只有5个方向,如下图):

H为Henry的出发点,每组数据的出发点都是最后一行的中间位置!

(前方5个格子为当前可以到达的)

【输入文件】

第一行为m n.(n为奇数),入口点在最后一行的中间

接下来为m*n的数字距阵.

共有m行,每行n个数字.数字间用空格隔开.代表该格子下是钱或炸弹.

为了方便Henry清算,数字全是整数.

【输出文件】

一个数,为你所找出的最大人民币价值.

【输入样例】

6 7

16 4 3 12 6 0 3

4 -5 6 7 0 0 2

6 0 -1 -2 3 6 8

5 3 4 0 0 -2 7

-1 7 4 0 7 -5 6

0 -1 3 4 12 4 2

【输出样例】

51

【数据范围】

Nand M<=200.

结果都在longint范围内

#include #include int opt[201][201]={0};
int a[201][201]={0};
int max(int a,int b)
{
if(a>b)
{
return a;
}
else
return b;
}
int max(int a,int b,int c)
{
a=max(a,b);
a=max(a,c);
returna;
}
int max(int a,int b,int c,int d)
{
a=max(a,b);
a=max(a,c);
a=max(a,d);
return a;
}
int max(int a,int b,int c,int d,int e)
{
a=max(a,b);
a=max(a,c);
a=max(a,d);
a=max(a,e);
return a;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
int i,j;
for(i=m;i>=1;i--)
{
for(j=n;j>=1;j--)
{
scanf("%d",&a[i][j]);
}
}
memset(opt,0,sizeof(opt));
int l=(n-5)/2;
int n1=n/2+1;
for(i=1;i<=l;i++)
{
for(j=n1+2+i;j<=n;j++)
{
a[i][j]=-9999;
}
for(j=1;j<=n1-2-i;j++)
{
a[i][j]=-9999;
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
printf("%d",a[i][j]);
}
printf("\n");
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
if(j==1)
{
opt[i][j]=max(opt[i-1][j],opt[i-1][j+1],opt[i-1][j+2])+a[i][j];
}
if(j==2)
{
opt[i][j]=max(opt[i-1][j-1],opt[i-1][j],opt[i-1][j+1],opt[i-1][j+2])+a[i][j];
}
if(j==n)
{
opt[i][j]=max(opt[i-1][j],opt[i-1][j-1],opt[i-1][j-2])+a[i][j];
}
if(j==n-1)
{
opt[i][j]=max(opt[i-1][j+1],opt[i-1][j],opt[i-1][j-1],opt[i-1][j-2])+a[i][j];
}
else if (j>=3&&j<=n-2)
{
opt[i][j]=max(opt[i-1][j-2],opt[i-1][j-1],opt[i-1][j],opt[i-1][j+1],opt[i-1][j+2])+a[i][j];
}
}
}
int max=0;
for(i=1;i<=n;i++)
{
if (max


Henry捡钱_DP相关推荐

  1. Henry捡钱 Java 动态规划

    背景描述: 最近,Henry由于失恋(被某大牛甩掉!)心情很是郁闷.所以,他去了大牛家,寻求Michael大牛的帮助,让他尽快从失恋的痛苦中解脱出来.Michael大牛知道Henry是很爱钱的,所以他 ...

  2. 11th 【棋盘dp 动态规划】捡钱

    捡钱 背景描述: 最近,Henry由于失恋(被某大牛甩掉!)心情很是郁闷.所以,他去了大牛家,寻求Michael大牛的帮助,让他尽快从失恋的痛苦中解脱出来.Michael大牛知道Henry是很爱钱的, ...

  3. 实现财务自由 之 捡钱神器——打新债(申购新债/可转债打新),让你一天就能赚 20%(如何打新债,如何提高打新中签率)

    实现财务自由 之 打新债(申购新债/可转债打新),让你一天就能赚 20%(如何打新债,如何提高打新中签率) 目录 实现财务自由 之 打新债(申购新债/可转债打新),让你一天就能赚 20%(如何打新债, ...

  4. [Dream Team邀请赛]----Money Henry拣钱

    数据最后来-我先写题解 Henry拣钱(money.pas/c/cpp) 背景描述: 最近,Henry 由于失恋(被某大牛甩掉!)心情很是郁闷.所以,他去了大牛家,寻求 Michael 大 牛的帮助, ...

  5. 通过确定性机会“捡钱”

    通过确定性机会"捡钱" 作者:王三金 主要是对于投资股市的一些确定性机会现象的一点思考和记录. 其实投资是有主线和逻辑的.我们可以通过行业,展现一下市场的基本运行规律. 从利率讲起 ...

  6. 理财实践之打新债(捡钱神器)

    文章目录 1:什么是打新债 2: 什么是可转债 3:打新债需要什么条件 4:打新债的收益如何 5:打债有什么风险呢 6:如何避免破发呢 7:如何查询新上市的可转债有破发风险呢 8:打新债的操作步骤 9 ...

  7. 小白也可以科学的在股市里捡钱

    没错,说的就是打新债. 打新债是非常适合新手投资的方式. 本篇文章从数据分析的角度,聊一聊打新债稳赚不赔的科学性. 本文数据样本:自2015年来184个可转债数据(截止2019年11月15日浦发转债) ...

  8. 盘点程序员可以在上面捡钱的共享经济产品

    2014年8月1日,我在博客上发表了一篇题为"技术问答网站与论坛为什么半死不活"的文章,讨论技术问答的现状.那篇文章被推荐到CSDN首页,被很多人看到,关注度较高,也有很多人在文后 ...

  9. 现在的钱真的那么容易挣了吗?

    不知道从什么时候开始,小红书啊,抖音里啊,知乎里啊各种各样教别人挣钱的方式,什么日赚300不是梦啊,或者要么就是各种各样的教导别人如何挣钱的?难道我们真是的去捡钱了?其实不然里面都是充斥着各种骗局,要 ...

最新文章

  1. (三)spark集群DHCP IP变化后的处理
  2. Playframework2 标签速记
  3. Oracle系统用户的默认密码及功能
  4. 被捞起的“海底数据中心”,故障率仅为陆地1/8,微软新型数据存储模式又有新进展...
  5. [php]apache虚拟主机配置
  6. android 如何重载函数,android - 如何在Frida中使用“ int”重载函数 - 堆栈内存溢出...
  7. 分布式文件系统—HDFS—核心设计
  8. Qt消息机制与window程序消息的对比分析
  9. 筒仓计算表格_身份反模式:联邦筒仓和意大利面条身份
  10. 13 - java包装类
  11. centos7 yun安装mysql,CentOS7 yum方式安装MySQL5.7
  12. linux sshd进程起不来,linux sshd服务异常
  13. mysql 最大长度_mysql VARCHAR的最大长度到底是多少
  14. educoder——面向对象程序设计java——第三阶段-Java 高级特性——Java 集合框架
  15. SIGIR 2022 | 港大等提出超图对比学习在推荐系统中的应用
  16. 【功能】:前台上传文件(txt,xls,xlsx,csv,pdf)五种格式的文件 后台java解析文件,并且判断文件内容是否为零字节
  17. 万能查询网址,不信试试看!
  18. 账号被盗,如何强制下线?
  19. REASONING ABOUT ENTAILMENT WITH NEURAL ATTENTION 论文阅读笔记
  20. DIY多快充协议太阳能充电器!----快充协议实现原理

热门文章

  1. 【每日一题】day1(星际密码->斐波那契)
  2. 〖全域运营实战白宝书 - 高转化文案速成篇⑤〗- 如何撰写内容型文案?
  3. 推荐系统中的biasdebias(一):bias的成因、类型和影响
  4. java版远程桌面控制(简约版)
  5. 点云补全综述 Comprehensive Review of Deep Learning-Based 3D Point Clouds Completion Processing and Analys
  6. Pycharm自定义更换背景图,来给代码加个PS~~~
  7. Linux 命令和参数 英文全称
  8. Android App自动化测试: OPEN-STF环境搭建
  9. React之表格操作
  10. 深圳科陆集团2015校招软件开发笔试题