簡單的模擬——排座椅
SSL 1592
洛谷 P1056 排座椅
題目描述
上課的時候總會有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當同學們的座次確定下來之後,只有有限的D對同學上課時會交頭接耳。同學們在教室中坐成了M行N列,坐在第i行第j列的同學的位置是(i,j),為了方便同學們進出,在教室中設定了K條橫向的通道,L條縱向的通道。於是,聰明的小雪想到了一個辦法,或許可以減少上課時學生交頭接耳的問題:她打算重新擺放桌椅,改變同學們桌椅間通道的位置,因為如果一條通道隔開了兩個會交頭接耳的同學,那麼他們就不會交頭接耳了。
請你幫忙給小雪編寫一個程式,給出最好的通道劃分方案。在該方案下,上課時交頭接耳的學生的對數最少。
分析或思路
讀入1對學生座標時,為該行或該列的陣列+1(即該行或列可以分割多少名學生)然後分別排序這些數值,最後從大到小累加,直到該行或該列不能分割為止
(這裡給個提醒:用選擇排序或氣泡排序,使用快排會有神祕的錯誤!)
type arr=array[1..1000]of longint;
var h,k1,k2,l,n,x1,x2,y1,y2,i,j:longint;
a1,a2,x,b,a:arr;
procedure qsort(k:longint);
var i,j,t:longint;
begin
for i:=1 to k-1 do
for j:=i+1 to k do
if b[i]>b[j] then
begin
t:=b[i];
b[i]:=b[j];
b[j]:=t;
end;
end;
procedure sort(n:longint);
var
i,j,t:longint;
begin
for i:=1 to n-1 do
for j:=i+1 to n do
if (a[i]<a[j]) then
begin
t:=a[i]; a[i]:=a[j]; a[j]:=t;
t:=b[i]; b[i]:=b[j]; b[j]:=t;
end ;
end;
begin
read(h,l,k1,k2,n);
for i:=1 to n do
begin
readln(x1,y1,x2,y2);
if x1=x2 then
begin
if y1>y2 then inc(a1[y2]);
if y1<y2 then inc(a1[y1]);
end;
if y1=y2 then
begin
if x1>x2 then inc(a2[x2]);
if x1<x2 then inc(a2[x1]);
end;
end;
for i:=1 to l do x[i]:=i;
a:=a2; b:=x; sort(l); qsort(k1); for i:=1 to k1 do write(b[i],' ');
for i:=1 to h do x[i]:=i;
writeln;
a:=a1; b:=x; sort(h); qsort(k2); for i:=1 to k2 do write(b[i],' ');
end.
相關推薦
簡單的模擬——排座椅
SSL 1592 洛谷 P1056 排座椅 題目描述 上課的時候總會有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當同學們的座次確定下
洛谷 1056——排座椅(簡單的模擬)
題目描述 上課的時候總會有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當同學們的座次確定下來之後,只有有限的D對同學上課時會交頭接耳。同學們在教室中坐成了M行N列,坐在第i行第j列的同學的位置是(
【模擬】排座椅
題目描述 上課的時候總有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當同學們的座次確定下來之後,只有有限的D對同學上課時會交頭接耳。同學們在教室中坐成了M行N列,坐在第i行第j列 的同學的位置是(i,
【題解】洛谷P1056排座椅[NOIP2008普及] 模擬
題目連結 #include<cstdio> #include<algorithm> using namespace std; const int N=1010; int x[N],y[N],xn[N<<1],yn[N&l
php 使用curl 進行簡單模擬提交表單
8.0 bin field this class chrom 提交表單 bsp alt //初始化curl $ch = curl_init(); $url = ‘xxx‘; $option = [ CURLOPT_URL => $url, CURLO
P1056 排座椅
lba 輸出格式 -a 現象 algorithm 們的 技術分享 amp http P1056 排座椅 題目描述 上課的時候總會有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當
python簡單模擬:把樹存儲在數據表中
數據庫 __main__ __name__ com clas list lis 數據表 name 在數據庫中建立一個表,有Id, fatherId, value 三個字段,就可以存儲一個樹。 如何把該表中的數據以樹的形式呈現出來,下面小弟用python簡單模擬一下。 初學p
洛谷——P1056 排座椅
唯一性 分享 pan 同學 進出 blank mpc std pre https://www.luogu.org/problem/show?pid=1056#sub 題目描述 上課的時候總會有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主
多線程練習(簡單模擬火車站多窗口同時售票)
火車 thread art this 模擬 練習 lis span 對象 模擬火車站售票窗口同時售票 public class xianchenglianxi { public static void main(String arg[]){
大魚吃小魚(簡單模擬)
一個 入棧 nco http spa println code tar pre 題目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1289 從左往右將數字壓入棧裏(想象成一個水平向右的棧),如果
HihoCoder1052基因工程(簡單模擬題)
修改方法 ace lib stream 方法 div 最小 mes 大寫 描述 小Hi和小Ho正在進行一項基因工程實驗。他們要修改一段長度為N的DNA序列,使得這段DNA上最前面的K個堿基組成的序列與最後面的K個堿基組成的序列完全一致。 例如對於序列"ATCGA
7-18 銀行業務隊列簡單模擬(25 分)
時間間隔 int fin scanf 就是 偶數 static log 辦理 設某銀行有A、B兩個業務窗口,且處理業務的速度不一樣,其中A窗口處理速度是B窗口的2倍 —— 即當A窗口每處理完2個顧客時,B窗口處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出
Java簡單模擬Android中Handler-Message機制
就是 示例代碼 pri 技術分享 android ble [] handle @override 在Android中主線程與子線程的通信十分重要,Google工程師為我們提供了Handler-Message機制來解決他們之間的交互問題。今天,我們就來簡單理解Handler-
spring中的工廠原理簡單模擬
spring中的工廠原理簡單模擬 package service; import dao.User;import factory.Factory; public class Test {// private static User user = new UserImpl();//耦合度太高 private
簡單模擬jQuery創建對象的方法,以及封裝一個js動畫框架
動畫框架 dst nts 創建 pro 以及 原型 time parse 今天無事點開了N年未點開的慕課網,看了一個js動畫框架的視頻,心血來潮用jQuery的方法封裝了一下,雖然不如jQuery,但是還是有點點所獲。 什麽都不說,直接上代碼: /** * 這是框架的
Luogu P1056 排座椅
printf space ons mes 進出 符號 node 一個 描述 題目描述 上課的時候總會有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭疼的一件事情。不過,班主任小雪發現了一些有趣的現象,當同學們的座次確定下來之後,只有有限的D對同學上課時會交頭接耳。同
普及組2008NOIP 排座椅(貪心+排序)
EDA 事情 的人 div 輸出 end 表示 num lse 排座椅 時間限制: 1 Sec 內存限制: 50 MB提交: 4 解決: 3[提交][狀態][討論版][命題人:外部導入] 題目描述 上課的時候總有一些同學和前後左右的人交頭接耳,這是令小學班主任十分頭
簡單模擬評論效果
click element gin 分享圖片 black info 函數 parse border 簡單模擬評論效果 <!DOCTYPE html> <html lang="en"> <head> <met
P1051 誰拿了最多獎學金 洛谷 (C++)(簡單模擬)
ctype efi 記錄 簡單模擬 clas style namespace .class int 根據題意模擬就好了,更新最大值,記錄下標。 (話說我也想要這麽多的獎學金啊.. #include <iostream> #include <cctype&
PTA 7-1 銀行業務隊列簡單模擬
stat nbsp bool ont ace troy color flow efi 用鏈表實現隊列操作,代碼如下: 1 #include <iostream> 2 #include <cstdio> 3 #include