sort-排座椅

题目描述 Description

上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。同学们在教室中坐成了M行N列,坐在第i行第j列的同学的位置是(i,j),为了方便同学们进出,在教室中设置了K条横向的通道,L条纵向的通道。于是,聪明的小雪想到了一个办法,或许可以减少上课时学生交头接耳的问题:她打算重新摆放桌椅,改变同学们桌椅间通道的位置,因为如果一条通道隔开了两个会交头接耳的同学,那么他们就不会交头接耳了。

请你帮忙给小雪编写一个程序,给出最好的通道划分方案。在该方案下,上课时交头接耳的学生对数最少。

输入描述 Input Description

第一行,有5各用空格隔开的整数,分别是M,N,K,L,D(2<=N,M<=1000,0<=K<M,0<=L<N,D<=2000)。

接下来D行,每行有4个用空格隔开的整数,第i行的4个整数Xi,Yi,Pi,Qi,表示坐在位置(Xi,Yi)与(Pi,Qi)的两个同学会交头接耳(输入保证他们前后相邻或者左右相邻)。

输入数据保证最优方案的唯一性。

输出描述 Output Description

共两行。

第一行包含K个整数,a1a2……aK,表示第a1行和a1+1行之间、第a2行和第a2+1行之间、…、第aK行和第aK+1行之间要开辟通道,其中ai< ai+1,每两个整数之间用空格隔开(行尾没有空格)。

第二行包含L个整数,b1b2……bk,表示第b1列和b1+1列之间、第b2列和第b2+1列之间、…、第bL列和第bL+1列之间要开辟通道,其中bi< bi+1,每两个整数之间用空格隔开(行尾没有空格)。

样例输入 Sample Input

4 5 1 2 3

4 2 4 3

2 3 3 3

2 5 2 4

样例输出 Sample Output

2

2 4

//整理出每行每列交头接耳的人数,主要是处理数据

代码如下

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
struct p{
int nu,st;
}hang[50000],lie[50000];
int x1[5000],y1[5000];
int com(struct p a,struct p b){
return a.st>b.st;
}
int main()
{
int n,m,k(0),l,d,i,j(0),x,y,p,q,u;
cin>>m>>n>>u>>l>>d;
for(i=0;i<d;i++){
scanf("%d%d%d%d",&x,&y,&p,&q);
if(x!=p) lie[min(x,p)].nu=min(x,p),lie[min(x,p)].st++;
else hang[min(y,q)].nu=min(y,q),hang[min(y,q)].st++;
}
sort(lie,lie+m,com);
sort(hang,hang+n,com);
for(i=0;i<u;i++) x1[i]=lie[i].nu;
for(i=0;i<l;i++) y1[i]=hang[i].nu;
sort(x1,x1+u);
sort(y1,y1+l);
for(i=0;i<u-1;i++) cout<<x1[i]<<" ";
cout<<x1[i]<<endl;
for(i=0;i<l-1;i++) cout<<y1[i]<<" ";
cout<<y1[i]<<endl;
return 0;
}

//变量太多了!

转载于:https://www.cnblogs.com/wengsy150943/p/5759048.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256621.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSONModel的基本使用

JSONModel 是一个库,它能智能并且快速的创建出数据 model,你可以在你的 iOS 项目或者 OSX 项目上使用它。 使用前准备 添加 JSONModel 到你的工程中 1、需要的环境: ARC,iOS 5.0 / OSX 10.7 引入框架SystemConfiguration.framework2、获取途径&#xff1a; 1&#xff09;、通过…

图像处理 伽玛校正

http://blog.csdn.net/lichengyu/article/details/20840135 本质上是关于灰度的一个幂函数&#xff0c;当系数gamma大于1时&#xff0c;低灰度值的动态范围减小&#xff0c;高灰度值的动态范围增大&#xff0c;整体的灰度值减小&#xff1b;gamma小于1时则相反&#xff1b; 人…

matlab常用工具箱的调用指令

转自:http://blog.sina.com.cn/s/blog_86186c970102va9g.html Matlab常用工具箱的调用命令 1. 优化工具箱​​ 用途:优化问题 调用命令:在Command Window输入“optimtool”​,其窗口如下 图1 Optimization Tool 2. 神经网络工具箱​ 用途:数据拟合、模式识别和分类…

tomcat起不来的问题已经解决

tomcat 起不来的问题:\apache-tomcat-6.0.10\bin 中startup.bat 起不来&#xff0c;一闪就没了。说明&#xff1a;环境变量没有配置好。解决办法&#xff1a;配置环境变量&#xff1a;JAVA_HOME C:\Program Files\Java\jdk1.6.0_03就可以解决问题了本文转自 yuwenhu 51CTO博客…

js写法【3】

var m[];m[m.length]xx;//相当于push 对Repeat方法提供了8种写法做比较&#xff0c;这一点还是不错的。转载于:https://www.cnblogs.com/baozhu/p/4862242.html

Eclipse设置控制台日志输出位置

1、选择服务器配置 2、设置输出文件路径 转载于:https://www.cnblogs.com/Neil223/p/5759693.html

现代制造工程——第七章(轧制和锻造)

考点基于书本以及PPT的题目 一、轧制 二、锻造

图像边缘梯度的定义

http://blog.csdn.net/u014020344/article/details/50196635

Jquery_JQuery之DataTables强大的表格解决方案

1、DataTables的默认配置 $(document).ready(function() { $(‘#example’).dataTable(); } ); 示例&#xff1a;http://www.guoxk.com/html/DataTables/Zero-configuration.html 2、DataTables的一些基础属性配置 “bPaginate”: true, //翻页功能 “bLengthChange”: true, /…

内存管理1retain和release

Student.h: #import <Foundation/Foundation.h> interface Student : NSObject property int age; //默认会生成一个_age属性 end Student.m: #import "Student.h" implementation Student //synthesize age_age;//xcode4.5中可以不使用synthesise方法&a…

目标检测的图像特征提取之(一)Hog特征提取

Hog特征实质是&#xff1a;梯度的统计信息,即针对边缘作特征提取 意义&#xff1a;目标的表象和形状 转载于zouxy09大神的文章&#xff0c;加上自己些微的理解和应用&#xff01; http://blog.csdn.net/zouxy09/article/details/7929348/ 上述基本讲清楚了&#xff0c;其实…

redis类型[string 、list 、 set 、sorted set 、hash]

1. Keys redis本质上一个key-value db&#xff0c;所以我们首先来看看他的key. 首先key也是字符串类型&#xff0c;但是key中不能包括边界字符&#xff1b;由于key不是binary safe的字符串&#xff0c;所以像"my key"和"mykey\n"这样包含空格和换行的key是…

matlab simulink笔记02——延迟模块delay与单位延迟模块unit delay

延迟模块 单位延迟模块 延迟模块具有复位功能,当满足复位条件时会进行复位操作,即输出的值会恢复到初始值,而单位延迟模块没有复位功能; 延迟模块的步长是可以设置的,而单位延迟模块的步长固定为1,不可以改变

局域网传输速度升级

现在很多单位都建成了企业内部局域网&#xff0c;一般的企业网络大多是使用双 绞线连接网卡的方式来进行通信的。其中双绞线通常采用的都是5类线&#xff0c;传输速率为100MB。而网卡则有一定的区别&#xff0c;很多网卡都是采取 10Mbps/100Mbmps自适应的网卡&#xff0c;即传输…

数据结构--栈 codevs 1107 等价表达式

codevs 1107 等价表达式 2005年NOIP全国联赛提高组 时间限制: 1 s空间限制: 128000 KB题目等级 : 钻石 Diamond题目描述 Description明明进了中学之后&#xff0c;学到了代数表达式。有一天&#xff0c;他碰到一个很麻烦的选择题。这个题目的题干中首先给出了一个代数表达式&am…

目标检测的图像特征提取之(二)LBP特征

LBP特征实质是&#xff1a;图像局部特征的提取 意义&#xff1a;纹理的提取 http://blog.csdn.net/zouxy09/article/details/7929531 1&#xff09;首先将检测窗口划分为1616的小区域&#xff08;cell&#xff09;&#xff1b; &#xff08;2&#xff09;对于每个cell中的一个…

VS2010安装帮助文档出现错误

安装VS2010后的帮助文档安装出现错误:未能在指定文件夹中创建本地存储区 安装完VS2010后&#xff0c;出现错误&#xff0c;取消后 再安装MSDN 打开“Help Library 管理器 - Microsoft Help 查看器 1.0” 提示“请为本地内容选择位置” 默认的位置是在“C:\Documents and Settin…

matlab smulink笔记03——过零检测

★过零检测 变步长解算方法动态地评估计算下一个采样时刻所使用的步长&#xff0c;当前后两个采 样点的状态值变化大时&#xff0c;则缩小采样步长&#xff0c;当前后两个采样点的值变化小时则增大步 这种做法使得解算器在计算不连续临近区域时使用较小的步长&#xff0c;因为不…

电脑下乡的遐想

最近讨论家电下乡的话题很热&#xff0c;其中我个人最关心“电脑下乡”。原因是&#xff0c;我是农村人&#xff0c;正好在电脑相关行业里混。 应当说&#xff0c;让电脑下乡是我多年的梦想&#xff0c;我多么盼望乡下的乡亲们能够上网看新闻、学习、看电视……但是&#xff0c…