Problem Description

威威猫最近不务正业,每天沉迷于游戏“打地鼠”。
  每当朋友们劝他别太着迷游戏,应该好好工作的时候,他总是说,我是威威猫,猫打老鼠就是我的工作!
  无话可说…
  
  我们知道,打地鼠是一款经典小游戏,规则很简单:每隔一个时间段就会从地下冒出一只或多只地鼠,玩游戏的人要做的就是打地鼠。

假设:
  1、每一个时刻我们只能打一只地鼠,并且打完以后该时刻出现的所有地鼠都会立刻消失;
  2、老鼠出现的位置在一条直线上,如果上一个时刻我们在x1位置打地鼠,下一个时刻我们在x2位置打地鼠,那么,此时我们消耗的能量为abs( x1 - x2 );
  3、打第一只地鼠无能量消耗。

现在,我们知道每个时刻所有冒出地面的地鼠位置,若在每个时刻都要打到一只地鼠,请计算最小需要消耗多少能量。

Input

输入数据包含多组测试用例; 每组数据的第一行是2个正整数N和K(1 <= N <= 20, 1 <= K <= 10 ),表示有N个时刻,每个时刻有K只地鼠冒出地面; 接下来的N行,每行表示一个时刻K只地鼠出现的坐标(坐标均为正整数,且<=500)。

Output

请计算并输出最小需要消耗的能量,每组数据输出一行。

Sample Input

2 2
1 10
4 9
3 5
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15

Sample Output

1
1

思路

从第二行开始对数组进行遍历,把这一刻要到此位置的能量全部列举,将最小值保存进dp数组,要注意的是对dp数组的初始化。

AC代码

#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int arr[25][15];
int dp[25][15];
int main(){int n,m,_min;while(scanf("%d %d",&n,&m)!=EOF){_min=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){scanf("%d",&arr[i][j]);}}for(int i=1;i<n;i++){_min=10000;for(int j=0;j<m;j++){dp[i][j]=10000;for(int k=0;k<m;k++){dp[i][j]=min(dp[i][j],dp[i-1][k]+abs(arr[i-1][k]-arr[i][j]));if(dp[i][j]<_min){_min=dp[i][j];}}}}printf("%d\n",_min);}return 0;
}

[HDOJ-4540]威威猫系列故事——打地鼠相关推荐

  1. HDU 4540 威威猫系列故事――打地鼠(DP)

    D - 威威猫系列故事――打地鼠 Time Limit:100MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Sub ...

  2. 动态规划位置hdu 4540 威威猫系列故事——打地鼠(动态规划)

    题记:写这篇博客要主是加深自己对动态规划位置的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. 威威猫系列故事--打地鼠 Time Limit: 300/100 MS (Java/O ...

  3. 杭电acm 4540威威猫系列故事——打地鼠

    威威猫系列故事--打地鼠 Time Limit: 300/100 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others) Total ...

  4. HDU-4540 威威猫系列故事——打地鼠 (动态规划)

    威威猫系列故事--打地鼠                                                                             Time Limit: ...

  5. HDU - 4540 威威猫系列故事——打地鼠

    威威猫最近不务正业,每天沉迷于游戏"打地鼠". 每当朋友们劝他别太着迷游戏,应该好好工作的时候,他总是说,我是威威猫,猫打老鼠就是我的工作! 无话可说... 我们知道,打地鼠是一款 ...

  6. HDU 4540 威威猫系列故事——打地鼠

    威威猫最近不务正业,每天沉迷于游戏"打地鼠". 每当朋友们劝他别太着迷游戏,应该好好工作的时候,他总是说,我是威威猫,猫打老鼠就是我的工作! 无话可说- 我们知道,打地鼠是一款经典 ...

  7. hdu——4540威威猫系列故事——打地鼠

    Problem Description 威威猫最近不务正业,每天沉迷于游戏"打地鼠". 每当朋友们劝他别太着迷游戏,应该好好工作的时候,他总是说,我是威威猫,猫打老鼠就是我的工作! ...

  8. 威威猫系列故事——打地鼠

    Problem Description 威威猫最近不务正业,每天沉迷于游戏"打地鼠". 每当朋友们劝他别太着迷游戏,应该好好工作的时候,他总是说,我是威威猫,猫打老鼠就是我的工作! ...

  9. HDU-4540 威威猫系列故事——打地鼠

    威威猫最近不务正业,每天沉迷于游戏"打地鼠".  每当朋友们劝他别太着迷游戏,应该好好工作的时候,他总是说,我是威威猫,猫打老鼠就是我的工作!  无话可说...    我们知道,打 ...

最新文章

  1. aop实现原理_从宏观的实现原理和设计本质入手,带你理解 AOP 框架的原理
  2. java在一个类里实现存款_用Java编写一个简单的存款
  3. 如何设置ftp服务器上传文件夹至不同路径,设置ftp服务器上传文件夹
  4. 亚马逊的现代应用程序为何这么强大?
  5. 不使用库函数将字符串转换为数字
  6. Linux内核分析之搭建Mykernel
  7. PHP json_encode中文乱码解决方法
  8. 编译android源码的make命令解析
  9. week03_python标准库datetime
  10. 单日暴跌60%,崩盘4次的AMPL,这次还能回来吗?
  11. Redis 事务 实例
  12. 世界上第一天微型计算机,day 1:计算机发展史和组成部分
  13. [VOT14](2022CVPR)CSWinTT: Transformer Tracking with Cyclic Shifting Window Attention
  14. Java实现 LeetCode 88 合并两个有序数组
  15. 深度学习三巨头之Yann LeCun(杨立昆)简介
  16. 分享一个自己做的一个3DM手机客户端
  17. 基于Python+SQLSERVER的快递业务管理系统的设计与实现
  18. 多级文件系统(操作系统课设)
  19. ★☆【二分圖最佳匹配】丘比特的煩惱
  20. 数据分析实战项目-用户行为分析(Python)

热门文章

  1. 统信桌面操作系统产品手册
  2. openfire--好友管理各种状态纠结
  3. 银行卡信息OCR识别
  4. PostGre使用总结
  5. [Swift]对UIView截图
  6. Ubuntu网络图标消失,连不上网的解决办法
  7. 32 回归分析——一元线性回归模型
  8. 优思学院|取得美质协(ASQ)六西格玛黑带(CSSBB)的个人经验谈
  9. 单相半波可控整流电路实验报告matlab,单相桥式全控整流电路MATLAB仿真 实验报告(上).doc...
  10. 云视听极光TV版闪退解决方案