排隊照相問題 第三次OJ的總結

2021-08-29 16:32:14 字數 1174 閱讀 8210

2018/10/22

問題描述

n(n為偶數)個高矮不同的人排成兩排照相,要求每一排都是從矮到高排列,而第二排每個人比第一排對應的人要高,列出所有可能的結果。

輸入格式

第一行正整數n(0第二行第乙個人的身高h1

第三行第二個人的身高h2

…第n+1行第n個人的身高hn

輸出格式

1.每種情況佔據一行;

2.將第一排按照排隊順序輸出身高,然後將第二排按照排隊順序輸出身高;

3.身高之間加空格(第二排最後一人後面為換行符,無空格),兩排之間不加換行符(第一排最後一人與第二排第一人之間為空格)。

4.最後統計所有情況數目並輸出。

輸入樣例

4

161162

164163

輸出樣例

161 162 163 164

161 163 162 164

2或者下列輸出也正確(即不同情況之間可交換順序):

161 163 162 164

161 162 163 164

2

提示

1.使用中的scanf,printf。它們比中的cin, cout更快。

樣例輸入有兩種排隊方式,每種排隊方式輸出的順序如圖中紅線所示:

其中,第一種排隊方式對應輸出如圖所示,第二種同理。

2.每種情況輸出完成後要換行。

3.在輸出時,不同情況的輸出先後順序不影響答案的正確性。

不知道為什麼oj的題目跟學的內容沒啥關係(大霧)。

我的演算法是這樣的:先把身高順序排列,從中取乙個數填到第二排首位(這個數從哪個範圍中取要仔細考慮),再把剩下的數中最小的填到下面(你可以這麼想:如果不取最小的數,那麼必定有乙個比它更小的數在右邊某個位置或者某個位置的上方,這是不可能的。)然後就是……遞迴。

#define _crt_secure_no_warnings    //vs2010以上編譯器

#include int n = 0;

struct myarray

};void perm(myarray *array,int **queue,int k,int num)}}

}int main()

return 0;

}

第三次oj貪心

貪心演算法主要思路 建立數學模型模擬問題 拆分問題尋找區域性最優解 集合區域性解 description 乙個旅行家想駕駛汽車以最少的費用從乙個城市 到另乙個城市 假設出發時油箱是空的 給定兩個城市之間的距離d1 汽車油箱的容量c 以公升為單位 每公升汽油能行駛的距離d2 出發點每公升汽油 p 和沿...

第三次總結

前兩次主要了解了該項目的用途與實現過程,具體的專案流程以及一些小作業 git教程等 了解伺服器端 serv.py等 的程式 搭建新的測試伺服器 與db配合寫介面函式等 具體請見前兩次總結過程,還有在實踐過程中遇到的各種問題。客戶端的測試分為多個windows系統,本次主要是windows10版本。測...

第三次自考總結

這是第三次自考了,針對這次自考總結下 一 第二遍讀書的過程中應該深入研究,不應該淺顯的看過一遍,大概了解了就行了 學習是乙個反覆的過程,一遍是不可能學明白的,尤其是開始時候的學習 看過三四遍課本能明白7 80 就不錯了 二 在學習過程要多給自己問問題,知識橫向和縱向聯絡,擴充套件,這樣才不會看課本枯...