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

  假设:
  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

Hint
一个比较暴力的dp,dp[i][j],i记录的是时刻,j记录的是位置,dp[i][j]代表的是直到第i个时刻走到j位置所需要的最小花费
最后求一下最后一行的min值就好啦

#include<bits/stdc++.h>
#define int long long
using namespace std;int dp[500][500];
int a[500][500];int32_t main(){int n, m;while(scanf("%I64d %I64d", &n, &m) != EOF){for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){scanf("%I64d", &a[i][j]);}}memset(dp, 0, sizeof(dp));for(int i = 1; i <= m; i++){dp[n][i] = 0x3f3f3f3f;}for(int i = 2; i <= n; i++){for(int j = 1; j <= m; j++){for(int k = 1; k <= m; k++){if(k == 1){dp[i][a[i][j]] = dp[i-1][a[i-1][k]] +  abs(a[i][j] - a[i - 1][1]);}else{dp[i][a[i][j]] = min(dp[i][a[i][j]], dp[i-1][a[i-1][k]] + abs(a[i][j]-a[i-1][k]));}}}}int minn = 0x3f3f3f3f;for(int i = 1; i <= m; i++){minn = min(minn, dp[n][a[n][i]]);}printf("%I64d\n",minn);}
}

HDU - 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威威猫系列故事——打地鼠

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

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

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

  8. [HDOJ-4540]威威猫系列故事——打地鼠

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

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

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

最新文章

  1. Kubernetes的共享GPU集群调度
  2. 源码安装vlc播放器
  3. visual studio 64位汇编 listing列表文件
  4. java 格式化 布尔型_Java基础篇(1)-格式化
  5. Android之解决CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+RecyclerView里面再嵌套RecyclerView滑动颤抖问题
  6. html5长按 排序,H5 长按 拖拽排序的实现
  7. JUC与JVM并发编程学习笔记01
  8. Python3入门机器学习经典算法与应用 第3章 Numpy中的比较和FancyIndexing
  9. 峰峰值(Vpp)与dBm的转换关系
  10. C#控制台实现计算器功能
  11. 变限积分性质的总结笔记
  12. 情人节看IT男如何告白,IT男的告白攻略
  13. 嵌入式和java工资对比_嵌入式和java哪个前景好
  14. 4274. 【NOIP2015模拟10.28B组】终章-剑之魂
  15. ArcGIS中,一个点集里的点两两连线,比如有4个点,就连3+2+1=6条线
  16. 【React学习】React中ref的用法
  17. 给tensor增加维度 或 减少维度
  18. 联想Z5刷android11,联想Z5 Pro GT升级安卓10 ZUI_11.5.141稳定版-支持TWRP偷渡升级
  19. matlab有限元大作业,有限元大作业matlab课程设计例子解决方案.doc
  20. qt开发环境的建立与qte4.6.3、tslib1.4的移植

热门文章

  1. 什么是SOA,谈谈自己的看法(转)
  2. 绿色版电脑站手机站仿站小工具
  3. NCv5.0 与 IBM公司WAS中间件
  4. mysql函数编写格式_MySQL函数基础——字符串函数详解
  5. 第二代身份证计算最后一位校验位-程序
  6. sas软件使用mysql吗_图解SAS软件统计分析(一):基本知识和界面操作
  7. C++ zoj1962 How Many Fibs?
  8. 2023年云计算的发展趋势如何?还值得学习就业吗?
  9. 新一代云WAF:防御能力智能化,用户享有规则“自主权”
  10. feign.RetryableException: 连接超时 (Connection timed out) executing xxx FeignException.java:249