描述

给出如下定义:

  1. 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与 列的相对顺序)被称为原矩阵的一个子矩阵。 例如,下面左图中选取第 2、4 行和第 2、4、5 列交叉位置的元素得到一个 2*3 的子矩阵如右图所示。 
  2. 相邻的元素:矩阵中的某个元素与其上下左右四个元素(如果存在的话)是相邻的。
  3. 矩阵的分值:矩阵中每一对相邻元素之差的绝对值之和。

本题任务:给定一个 n 行 m 列的正整数矩阵,请你从这个矩阵中选出一个 r 行 c 列的 子矩阵,使得这个子矩阵的分值最小,并输出这个分值。

格式

输入格式

第一行包含用空格隔开的四个整数 n,m,r,c,意义如问题描述中所述,每两个整数之间用一个空格隔开。

接下来的 n 行,每行包含 m 个用空格隔开的整数,用来表示问题描述中那个 n 行 m 列的矩阵。

输出格式

输出共 1 行,包含 1 个整数,表示满足题目描述的子矩阵的最小分值。

样例1

样例输入1

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

样例输出1

6

样例2

样例输入2

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

样例输出2

16

限制

对于 50%的数据,1 ≤ n ≤ 12, 1 ≤ m ≤ 12, 矩阵中的每个元素 1 ≤ a[i][j] ≤20;

对于 100%的数据,1 ≤ n ≤ 16, 1 ≤ m ≤ 16, 矩阵中的每个元素 1 ≤ a[i][j] ≤1000,1 ≤ r ≤ n, 1 ≤ c ≤ m。

时间限制:每一组测试数据1s。

提示

【输入输出样例 1 说明】
该矩阵中分值最小的 2 行 3 列的子矩阵由原矩阵的第 4 行、第 5 行与第 1 列、第 3 列、 第 4 列交叉位置的元素组成,为


\begin{array}{ccc}
6 & 5 & 6\\
7 & 5 & 6\\
\end{array}

,其分值为 |6 − 5| + |5 − 6| + |7 − 5| + |5 − 6| + |6 − 7| + |5 − 5| + |6 − 6| = 6。

【输入输出样例 2 说明】
该矩阵中分值最小的 3 行 3 列的子矩阵由原矩阵的第 4 行、第 5 行、第 6 行与第 2 列、第 6 列、第 7 列交叉位置的元素组成,选取的分值最小的子矩阵为

\begin{array}{ccc}
9 & 7 & 8\\
9 & 8 & 8\\ 
5 & 8 & 10\\
\end{array}

转载于:https://www.cnblogs.com/tanjiaqi/p/7622140.html

子矩阵(NOIP2014 普及组第四题)相关推荐

  1. NOIP2016 普及组第四题 魔法阵magic 题解

    题目描述 六十年一次的魔法战争就要开始了,大魔法师准备从附近的魔法场中汲取魔法能量. 大魔法师有m个魔法物品,编号分别为1,2,-,m.每个物品具有一个魔法值,我们用Xi表示编号为i的物品的魔法值.每 ...

  2. Noip2015普及组第四题 Salesman的解题报告

    [题意分析] 咋一看,这一题可以用贪心做,但是,时间复杂度是O(n*n),只能过60%的数据. [贪心算法](超时,60分) #include<cstdio> #include<cs ...

  3. NOIP2016普及组第四题——魔法阵

    题目描述 六十年一次的魔法战争就要开始了,大魔法师准备从附近的魔法场中汲取魔法能量. 大魔法师有m个魔法物品,编号分别为1,2,-,m.每个物品具有一个魔法值,我们用Xi表示编号为i的物品的魔法值.每 ...

  4. 洛谷 P1070 道路游戏(noip 2009 普及组 第四题)

    题目描述 小新正在玩一个简单的电脑游戏. 游戏中有一条环形马路,马路上有 nn个机器人工厂,两个相邻机器人工厂之间由一小段马路连接.小新以某个机器人工厂为起点,按顺时针顺序依次将这 nn个机器人工厂编 ...

  5. 2002普及组第四题过河卒

    题目描述 如图,A 点有一个过河卒,需要走到目标 B 点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点.例如 ...

  6. 【vijos P1914】【codevs 3904】[NOIP2014 普及组T4]子矩阵(dfs+状压dp)

    P1914子矩阵 Accepted 标签:NOIP普及组2014[显示标签] 描述 给出如下定义: 子矩阵:从一个矩阵当中选取某些行和某些列交叉位置所组成的新矩阵(保持行与 列的相对顺序)被称为原矩阵 ...

  7. NOIP普及组第1题(1995-2018)

    NOIP1995普及组复赛第1题 https://blog.csdn.net/secret_zz/article/details/76862335 https://blog.csdn.net/WDAJ ...

  8. noip2004普及组第2题 花生采摘

    题目描述 鲁宾逊先生有一只宠物猴,名叫多多.这天,他们两个正沿着乡间小路散步,突然发现路边的告示牌上贴着一张小小的纸条:"欢迎免费品尝我种的花生!――熊字". 鲁宾逊先生和多多都很 ...

  9. NOIP2015普及组第1题 45 金币 方法三(python3实现)

    OpenJudge - 45:金币 信息学奥赛一本通(C++版)在线评测系统 [NOIP2015 普及组] 金币 - 洛谷 n=int( input() )x=1 #x为每天收到的金币数sum=0t= ...

最新文章

  1. INNO SETUP 获得命令行参数
  2. heritrix 3.2.0 -- 环境搭建
  3. Can't connect to HTTPS URL because the SSL module is not available
  4. 关于 Capella 需要纠正的语音
  5. VS2010中整理代码快捷键
  6. MongoRepository
  7. jQuery的过滤遍历
  8. centos云服务器开放端口和域名解析(8080、80等)
  9. Java集合篇:Stack
  10. 在Intranet环境中保护.NETWeb应用程序方案(转)
  11. ST算法 Sliding Window algorithm template
  12. eclipse plugins
  13. open函数返回-1_Linux驱动开发 / 字符设备驱动内幕 (1)
  14. 【机器学习】基于朴素贝叶斯的新闻分类
  15. php jquery制作抖音,抖音制作优质脚本的方法在这里
  16. 疑问代词who和whom的用法
  17. c语言编写日历作业,c语言实现一个简单日历
  18. OpenLayers 5 使用GeoJSON进行行政区划剪裁(clip, not mask or filter),非矢量图层覆盖
  19. js移动端rem.js自适应布局代码
  20. 深入理解YII2.0

热门文章

  1. 数学图形(1.35)Kappa curve
  2. JQUERY插件JqueryAjaxFileUplaoder----更简单的异步文件上传
  3. 求背包问题所有解(C++实现)
  4. Spring集成redis(Spring Data Redis)
  5. phpstudy中的mysql
  6. Android App 优化之 ANR 详解
  7. 从常识看中国经济社会-再续之续:套利
  8. 带你理解Spring AOP
  9. android布局的一些知识
  10. Django中--使用redis存储历史浏览记录