初学贪心·最大金币游戏

题目描述:

•Zyc无聊时候写了一个简单的吃金币游戏,规则如下:

•在一个长方形地图上,玩家每次能从一个方格走到相邻一个方格。

•玩家控制的角色可以向下或者向右走,但不能向上或向左走。

•每个方格上都有一定的金币。

•现在,Zyc想请你帮他想一个策略,尽可能多的获得金币。

分析:

可以想到用F[i][j]表示到[i,j]时的最大金币树,因为只可以向左和右移动,也就是说

F[i][j]只与F[i-1][j]和F[i][j-1]有关系

那么,我们可以写出动态规划方程

F[i][j]=max(F[i-1][j],F[i][j-1])+coin[i][j];

代码实现:

for(int i=1;i<=n;i++)

  for(int j=1;j<=n;j++)

  {

  cin>>c;

  F[i][j]=max(F[i-1][j],F[i][j-1])+c;

  }

cout<<F[n][n]<<ednl;

时间: 2024-10-07 22:47:06

初学贪心·最大金币游戏的相关文章

[贪心] Jzoj P4249 游戏

Description WYF从小就爱乱顶,但是顶是会造成位移的.他之前水平有限,每次只能顶出k的位移,也就是从一个整点顶到另一个整点上.我们现在将之简化到数轴上,即从 一个整点可以顶到与自己相隔在k之内的数轴上的整点上.现在WYF的头变多了,于是他能顶到更远的地方,他能顶到任意整点上.现在他在玩一个游戏,这个游 戏里他只能向正方向顶,同时如果他从i顶到j,他将得到a[j] * (j - i)的分数,其中a[j]是j点上的分数,且要求j > i, 他最后必须停在n上.现给出1-n上的所有分数,原

贪心算法-跳跃游戏二

给定一个非负整数数组,假定你的初始位置为数组第一个下标. 数组中的每个元素代表你在那个位置能够跳跃的最大长度. 你的目标是到达最后一个下标,并且使用最少的跳跃次数. 例如: A=[2,3,1,1,4],到达最后一个下标的最少跳跃次数为 2.(先跳跃 1 步,从下标 0 到 1,然后跳跃 3 步,到达最后一个下标.一共两次) 输入格式 第一行输入一个正整数 n(1≤n≤100) ,接下来的一行,输入 n 个整数,表示数组 A. 输出格式 最后输出最少的跳跃次数. 样例输入 5 3 1 1 1 1

初学者接金币游戏C#+unity

原文地址:https://www.cnblogs.com/tianti/p/12074351.html

CODEVS 2835挖金币

题目描述 Description 这天,小X幸运地获得了一次进行挖金币游戏的机会,规则如下: 在一个N*N的矩形里,有N*N个边长为1的正方形格子.在游戏中取左下角的格子坐标为(1,1),右上角为(N,N).在游戏开始前,每一个格子中都会放入一枚金币,而当游戏开始时,每一个格子中的那一枚金币都会进行一次移动,移动后的横.纵坐标值将分别变为原横.纵坐标值每一位上的乘积.当有金币被移动出格子矩形时,将被游戏方收走.小X将被允许选取M个格子,他将获得他所选取的格子中所有的金币,而他对游戏中获得的金币数

【1-4】金币阵列问题

问题描述: 有m ′ n(m £ 100,n £ 100) 个金币在桌面上排成一个m 行 n 列的金币阵列.每一枚金 币或正面朝上或背面朝上.用数字表示金币状态,0 表示金币正面朝上,1 表示背面朝上. 金币阵列游戏的规则是: (1)每次可将任一行金币翻过来放在原来的位置上: (2)每次可任选 2 列,交换这 2 列金币的位置. ′编程任务: 给定金币阵列的初始状态和目标状态,编程计算按金币游戏规则,将金币阵列从初始状 态变换到目标状态所需的最少变换次数. ′数据输入: 由文件 input.tx

acm课程总结报告

本学期的选修课ACM程序设计进入尾声,首先要总结的当然是感谢老师这类的客套话,良心话是真的谢谢费老耐心认真的教学,确实学到了很多东西,这一点从数据结构这门课的学习中容易看出,轻松很多. 本学期总共学习里四个专题:第一讲贪心算法,第二讲搜索,第三讲动态规划以及现在正在 努力做的图.下面我将以这四个专题为基础分别讲解ACM中所获得知识内容,感悟. 专题一贪心算法. 贪心算法包括计算活动安排的贪心算法,背包问题,删数问题.他的理论基础有三点,1,在问题的每一步选择中都采取在当前状态下最好或者最优的选择

软工课设第一天 6.27

day1 姓名 王日 时间 2016年6月27日 学习内容 1)  选择java编程 2)  人员分工 编写代码: 段杰(组长).于博文.张鹏 测试用例: 陶元睿.王日(我) 美工&文档整理 杨子彤 3)  系统反馈表填写收集 4)  建立微信群,及时发布通知 所遇问题 1)  有组员java环境未搭建好 2)  由用户反馈发现的问题 游戏难度过于简单 缺乏创新点 不能存储成绩 解决方案 1)  增加金币&游戏道具加强游戏性 2)  增加难度选择 3)  添加成绩本地存储,进一步可以联网

跑吧盒子君

游戏需求: 开始界面点击开始 玩家无限捡去金币 游戏技术实现: 1. 人物并没有移动,障碍物体一直在生成. 如果人物被障碍物拦截到摄像机外部就算游戏结束 2. 人物可以二段跳,但是第一次跳跃之后人物慢慢越落越快,第二次跳跃的高度也会随着第一次落下的速度印象 3. 游戏结束摄像机翻转 游戏速度的合理性: 1. 物体移动的速度 2. 生成的速度 3. 生成物体的距离   盒子男下载地址 http://yunpan.cn/ccyLDmxehxGbQ  访问密码 bb77

Aizu 1306

Problem 玩一个捡金币游戏,现有N个金币从高空落下,玩家控制一辆小车左右开动捡金币(在x轴上开动,起初玩家在x=0处).给出每个金币落地的时刻T[i] 和 落地的位置P[i],保证不会有两个金币同时落地.但小车只能装不超过3个金币,且小车速度随装载金币数量而变,速度=金币数量+1.玩家可以控制小车返回原点,返回原点时金币瞬间清空,玩家需要把所有的金币都运输到原点.问,玩家是否可以把所有金币都运回原点?如果可以,最小总距离是多少?如果不可以,第一个导致不可以的金币是哪一个? Limits T