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.pswp.cn/news/256621.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256621.shtml
英文地址,請注明出處:http://en.pswp.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…