04:最匹配的矩阵

总时间限制: 
1000ms

内存限制: 
65536kB
描述

给定一个m*n的矩阵A和r*s的矩阵B,其中0 < r ≤ m, 0 < s ≤ n,A、B所有元素值都是小于100的正整数。求A中一个大小为r*s的子矩阵C,使得B和C的对应元素差值的绝对值之和最小,这时称C为最匹配的矩阵。如果有多个子矩阵同时满足条件,选择子矩阵左上角元素行号小者,行号相同时,选择列号小者。

输入
第一行是m和n,以一个空格分开。
之后m行每行有n个整数,表示A矩阵中的各行,数与数之间以一个空格分开。
第m+2行为r和s,以一个空格分开。
之后r行每行有s个整数,表示B矩阵中的各行,数与数之间以一个空格分开。
(1 ≤ m ≤ 100,1 ≤ n ≤ 100)
输出
输出矩阵C,一共r行,每行s个整数,整数之间以一个空格分开。
样例输入
3 3
3 4 5
5 3 4
8 2 4
2 2
7 3
4 9
样例输出
4 5
3 4
把每种情况记录下来排一遍序就好了 没什么技巧。233
附代码
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
#include<cmath> using namespace std; struct node{
int han,lie,he;
}e[];
bool cmp(node x,node y)
{
if(x.he!=y.he) return x.he<y.he;
else if(x.han!=y.han&&x.lie!=y.lie) return x.han<y.han;
else return x.lie<y.lie;
}
int tot,l,minn=0x7fffffff,m,n,i,j,za[][],zb[][],r,s;
int pd(int w,int er)
{
int h=,q,t,ha=,li=;
for(q=w;q<w+r;++q)
{
li=;
for(t=er;t<er+s;++t)
{
h+=abs(za[q][t]-zb[ha][li++]);
}
ha++;
}
return h;
}
void wk()
{
for(i=;i<=m-r+;++i)//枚举行的每个情况
{
for(j=;j<=n-s+;++j)//枚举列的每个情况
{
int b=pd(i,j);
if(b)
{
e[tot++].han=i;
e[tot-].lie=j;
e[tot-].he=b;
}
}
}
}
int main()
{
cin>>m>>n;
for(i=;i<=m;i++)
{
for(j=;j<=n;++j)
cin>>za[i][j];
}
cin>>r>>s;
for(i=;i<=r;++i)
{
for(j=;j<=s;++j)
cin>>zb[i][j];
}
wk();
sort(e,e+tot,cmp);
for(i=e[].han;i<e[].han+r;++i)
{
for(j=e[].lie;j<e[].lie+s;++j)
cout<<za[i][j]<<" ";
cout<<endl;
}
}
 

Openjudge 1.12-04的更多相关文章

  1. Jexus Web Server 完全傻瓜化图文配置教程(基于Ubuntu 12.04.3 64位)[内含Hyper-v 2012虚拟机镜像下载地址]

    1. 前言 近日有感许多新朋友想尝试使用Jexus,不过绝大多数都困惑徘徊在Linux如何安装啊,如何编译Mono啊,如何配置Jexus啊...等等基础问题,于是昨日向宇内流云兄提议,不如搞几个配置好 ...

  2. Ubuntu Server 12.04下部署glusterfs

    1.安装环境 Linux:Ubuntuserver 12.04.1 LTS 64bit 2台 分布式文件系统:Gluster 测试环境:一台作文件服务器端(192.168.56.133),一台作客户端 ...

  3. ubuntu 12.04 install docker-engine1.12.3

    root@node3:/data/src# cat /etc/issueUbuntu 12.04.4 LTS \n \l   root@node3:/data/src# cat /etc/apt/so ...

  4. Ubuntu 12.04 安装 Apache2+PHP5+MySQL

    LAMP是Linux web服务器组合套装的缩写,分别是Apache+MySQL+PHP.此教程教大家如何在Ubuntu 12.04 LTS server 上安装Apache2服务器,包括PHP5(m ...

  5. 使用Ubuntu 12.04作为日常电脑环境

    搜狗输入法出来之后,我觉得有必要写一篇博客说明一下,如何使用Ubuntu作为日常的电脑系统.我使用的Ubuntu版本是12.04,没有使用Ubuntukylin,因为的电脑比较老,使用那个版本,电脑有 ...

  6. ubuntu 12.04下安装openldap,slapd.conf找不到的解决方法

    https://help.ubuntu.com/12.04/serverguide/openldap-server.html ubuntu安装openldap经历了一系列挫折,网上找了半天资料都是一模 ...

  7. Ubuntu 12.04安装Adobe Reader

    原本从Adobe 官方网站下载了 Adobe Reader, 是个rpm包,先用agt-get 装了rpm(sudo apt-get install rpm), 一安装(rpm -ivh AdobeR ...

  8. 在Ubuntu 12.04下采用apt-get的方法安装Qt4

    在Ubuntu 12.04下采用apt-get的方法安装Qt4 注:之前发表的一篇博客是采用编译源码的方式安装Qt4,这是很有用的方式,因为源码安装对于所有系统都是通用的,其次,在使用交叉编译器的时候 ...

  9. VMWare虚拟机下为Ubuntu 12.04.1配置静态IP(NAT连接方式)

    背景 在虚拟机下运行操作系统,尤其是Linux系统已经是非常常见的做法.有时你想在虚拟机下搭建一个(模拟)服务器来供主机访问,比如搭建一个telnet/ssh.此时你会发现,每次启动虚拟机,VMWar ...

  10. ubuntu的一些常用命令,测试版本:Ubuntu 12.04.5 LTS

    最近配置了一台Linux服务器,选用的是Ubuntu 12.04.5 LTS版本. 把之前放在Windows Server 2003上的网站移到了现在的服务器上,给我的感受用一个字形容:真JB快! 网 ...

随机推荐

  1. 浅析Dagger2的使用

    什么是Dagger2 Dagger是为Android和Java平台提供的一个完全静态的,在编译时进行依赖注入的框架,原来是由Square公司维护,现在由Google维护. 我们知道Dagger是一个依 ...

  2. linux下 yum 安装mysql和卸载

    1.查看有没有安装过: yum list installed mysql* rpm -qa | grep mysql* 2.查看有没有安装包: yum list mysql* 3.安装mysql客户端 ...

  3. js document.createElement()的用法 (转)

    document.createElement()的用法 分析代码时,发现自己的盲点--document.createElement(),冲浪一番,总结了点经验. document.createElem ...

  4. JAVA 8 方法引用 - Method References

    什么是方法引用 简单地说,就是一个Lambda表达式.在Java 8中,我们会使用Lambda表达式创建匿名方法,但是有时候,我们的Lambda表达式可能仅仅调用一个已存在的方法,而不做任何其它事,对 ...

  5. WebService的介绍概念 收藏

    WebService学习总结(二)——WebService相关概念介绍 一.WebService是什么? 1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据) 2. 一个跨语言.跨 ...

  6. Java虚拟机内存管理原理基础入门

    Jdk:Java程序设计语言.Java虚拟机.Java API类库. Jdk是用于支持Java程序开发的最小环境. Jre:Java API类库中的Java SE API子集.Java虚拟机. Jre ...

  7. Asp.net MVC Razor模板引擎技巧分享

    Razor是Asp.net MVC中新的默认模板类型, 语法简单易用.这篇文章不涉及Razor的语法,主要介绍Razor的一些在MVC项目中的使用技巧,以及脱离MVC环境下,如何使用Razor. 阅读 ...

  8. 理解JavaScript中的原型继承(2)

    两年前在我学习JavaScript的时候我就写过两篇关于原型继承的博客: 理解JavaScript中原型继承 JavaScript中的原型继承 这两篇博客讲的都是原型的使用,其中一篇还有我学习时的错误 ...

  9. ORACLE数据库的限制

    ORACLE数据库最多可以拥有多少个表空间(Tablespace)?数据库最多拥有多少个数据文件(Database files).数据库的数据文件最大可以多大?遇到这些问题只能查询官方文档,人的记忆能 ...

  10. SQL 笔记

    --查询某一列在哪个表里 SELECT name , object_id , type , type_desc FROM sys.objects WHERE object_id IN ( SELECT ...