日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【NOIP普及组】2016模拟考试(10.29)——排座椅

發布時間:2024/4/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【NOIP普及组】2016模拟考试(10.29)——排座椅 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題 B: 排座椅(seat.cpp)

時間限制:?1 Sec??內存限制:?64 MB

題目描述

上課的時候總有一些同學和前后左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當同學們的座次確定下來之后,只有有限的D對同學上課時會交頭接耳。同學們在教室中坐成了M行N列,坐在第i行第j列的同學的位置是(i,j),為了方便同學們進出,在教室中設置了K條橫向的通道,L條縱向的通道。于是,聰明的小雪想到了一個辦法,或許可以減少上課時學生交頭接耳的問題:她打算重新擺放桌椅,改變同學們桌椅間通道的位置,因為如果一條通道隔開了兩個會交頭接耳的同學,那么他們就不會交頭接耳了。 請你幫忙給小雪編寫一個程序,給出最好的通道劃分方案。在該方案下,上課時交頭接耳的學生對數最少。

輸入

seat.in 第一行,有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)的兩個同學會交頭接耳(輸入保證他們前后相鄰或者左右相鄰)。

輸出

seat.out 共兩行。 第一行包含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,每兩個整數之間用空格隔開(行尾沒有空格)。

樣例輸入

4 5 1 2 3 4 2 4 3 2 3 3 3 2 5 2 4

樣例輸出

2 2 4

提示

?

上圖中用符號*、※、+ 標出了3對會交頭接耳的學生的位置,圖中3條粗線的位置表示通道,圖示的通道劃分方案是唯一的最佳方案。

#------------------------------------------------------------------------------#

這個題,看上去很像圖論,事實上是貪心……


大體思路:

輸入xi,yi,pi,qi,只要xi和pi相等,就表示兩個學生在同一排,則L[yi和qi中小的一個]++

如果yi和qi相等,就表示兩個學生在同一列,則K[xi和pi中小的一個]++,千萬不要弄反了。


為什么要小的一個++呢?

仔細觀察一下圖(題目也有說)就知道了,輸出的是ai與ai+1,如果存大的一個,通道就有問題了。


存的時候用結構體更方便,里面還需有一個a變量,存安放的位置,初始化a[i]均為i。

然后就是按K和L從大到小排序,注意還要再排一次a,因為題目說需從小到大輸出!


然后直接輸出即可。


代碼:

#include<cstdio> #include<algorithm> using namespace std; int m,n,k,l,d; struct node {int a,n; }x[1002],y[1002];//結構體 bool _c(node x,node y) {return x.n>y.n;//按n }//sort從大到小 bool c_(node x,node y) {return x.a<y.a;//按a }//sort從小到大 int main() {scanf("%d%d%d%d%d",&m,&n,&k,&l,&d);for(int i=1;i<=max(m,n);i++)x[i].a=y[i].a=i;//初始化for(int i=1;i<=d;i++){int _x,_y,_p,_q;scanf("%d%d%d%d",&_x,&_y,&_p,&_q);if(_y==_q) x[min(_x,_p)].n++;//在同一列if(_x==_p) y[min(_y,_q)].n++;//在同一行}sort(x+1,x+n+1,_c); sort(y+1,y+n+1,_c); sort(x+1,x+k+1,c_); sort(y+1,y+l+1,c_);//四次排序printf("%d",x[1].a);for(int i=2;i<=k;i++)printf(" %d",x[i].a);//輸出printf("\n%d",y[1].a);for(int i=2;i<=l;i++)printf(" %d",y[i].a);//一定要處理空格!!!我因為沒處理行末空格wrong了1次return 0; }

轉載于:https://www.cnblogs.com/LinqiongTaoist/p/7203756.html

總結

以上是生活随笔為你收集整理的【NOIP普及组】2016模拟考试(10.29)——排座椅的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品第56页 | 久久国产精品无码网站 | 在线免费成人网 | 97人人模人人爽人人少妇 | 真实新婚偷拍xxxxx | 欧美日韩一卡 | 日本韩国欧美 | 亚洲电影一区二区 | 欧洲一级片 | 91超薄肉色丝袜交足高跟凉鞋 | 久久亚洲热 | 在线成人看片 | 三级av网站| 久久久久久黄 | 国产免费看av | 黄色aa大片| 婷婷色在线观看 | 中文字幕一区二区人妻在线不卡 | 久久九九精品视频 | 欧美黄色录像视频 | 午夜激情福利电影 | av大片在线看 | 91tv在线观看 | 亚洲色图欧美色 | 欧美成人做爰猛烈床戏 | 深夜福利免费在线观看 | 色www情| av黄色片在线观看 | jizz亚洲女人 | 91精品国产综合久久久久久久 | av黄色在线免费观看 | 国产精品无码白浆高潮 | 日韩中文在线观看 | 免费一级毛片麻豆精品 | 久久久免费看片 | 免费av电影网站 | 丝袜 中出 制服 人妻 美腿 | 精品人妻人人做人人爽 | 国产精品第三页 | 理论片在线观看理伦片 | 草在线 | 朴银狐电影中文在线看 | 日本黄色免费视频 | 欧美少妇15p | 欧美综合色| 清纯粉嫩极品夜夜嗨av | 尤物在线免费视频 | 国产精品一区二区三区四区视频 | 毛片av免费看 | 久久精热 | 成人av网址在线 | 今天高清视频在线观看视频 | 性色一区二区三区 | 国产欧美日韩二区 | 成人音影 | 亚洲高清视频在线 | 五月天久久婷婷 | 日韩三级一区二区三区 | 国产精品久久久久久久久久久免费看 | www.蜜臀 | 国产成人精品aa毛片 | 成人黄色短视频在线观看 | 日本熟伦人妇xxxx | 日本精品一区视频 | 日韩欧美xxxx | 国产成人精品无码播放 | 1区2区视频| 色多多av | 日韩av无码久久 | 激情五月婷婷在线 | 中文字幕不卡在线观看 | 国产一久久 | 国产一区二区在线免费观看 | 久久影音 | 亚洲男同视频 | 12av毛片| 午夜精品久久99蜜桃的功能介绍 | 别揉我奶头一区二区三区 | 在线视频97 | 在线免费av网址 | 亚洲精品成人影视 | 亚洲国产精品国自产拍久久 | 少妇紧身牛仔裤裤啪啪 | 天堂av在线资源 | 国产精品一二区在线观看 | 五月天最新网址 | 成人蜜桃视频 | 亚洲一区二区三区视频 | 在线黄av| 国产精品桃色 | 青青草视频黄 | 人人爱人人草 | 免费看美女隐私网站 | 你懂的在线播放 | 欧美日韩亚洲精品内裤 | 爱爱免费视频 | www.日本com| 成人免费视频播放 | 五月婷婷亚洲综合 |