1055 集體照 25 PAT乙級真題

2021-10-21 20:05:33 字數 1769 閱讀 1662

拍集體照時隊形很重要,這裡對給定的 n 個人 k 排的隊形設計排隊規則如下:

輸入格式:

每個輸入包含 1 個測試用例。每個測試用例第 1 行給出兩個正整數 n(≤10^4,總人數)和 k(≤10,總排數)。隨後 n

行,每行給出乙個人的名字(不包含空格、長度不超過 8 個英文本母)和身高([30, 300] 區間內的整數)。

輸出格式:

輸出拍照的隊形。即k排人名,其間以空格分隔,行末不得有多餘空格。注意:假設你面對拍照者,後排的人輸出在上方,前排輸出在下方。

輸入樣例:

10 3

tom 188

mike 170

eva 168

tim 160

joe 190

ann 168

bob 175

nick 186

amy 160

john 159

輸出樣例

bob tom joe nick

ann mike eva

tim amy john

需要明確的幾點:

//

// main.cpp

// note_for_algorithm

//// created by kenny on 2021/1/15.

//#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace std;

class

person

;bool

cmp(person a, person b)

else

return a.name < b.name;

}int

main()

sort

(input, input + n, cmp)

;//先對輸入排序

int site =0;

//表示插入點

int m =0;

//表示一行的人數,在第一行和其他行取不同值,見for中第乙個if分支

int i =0;

//表示待排序號,每安排一位自增1

int index =1;

//1表示向左或-1向右排,每安排一位自乘-1

for(

int row =

0; row < k; row++

)else

index =1;

//每當開始安排某一行時都是先向左安排

site = m /2;

//開始安排的位置

for(

int j =

0; j < m; j++

, i++)}

for(

int row =

0; row < k; row++)}

//輸出

printf

("\n");

}}

1055 集體照 25 PAT乙級真題

1055.集體照 25 拍集體照時隊形很重要,這裡對給定的n個人k排的隊形設計排隊規則如下 現給定一組拍照人,請編寫程式輸出他們的隊形。輸入格式 每個輸入包含1個測試用例。每個測試用例第1行給出兩個正整數n 10000,總人數 和k 10,總排數 隨後n行,每行給出乙個人的名字 不包含空格 長度不超...

PAT乙級 1055 集體照 25

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 拍集體照時隊形很重要,這裡對給定的n個人k排的隊形設計排隊規則如下 現給定一組拍照人,請編寫程式輸出他們的隊形。輸入格式 每個輸入包含1個測試用例。每個測試用例第1行給出...

PAT乙級1055 集體照 25

拍集體照時隊形很重要,這裡對給定的n個人k排的隊形設計排隊規則如下 每排人數為n k 向下取整 多出來的人全部站在最後一排 後排所有人的個子都不比前排任何人矮 每排中最高者站中間 中間位置為m 2 1,其中m為該排人數,除法向下取整 每排其他人以中間人為軸,按身高非增序,先右後左交替入隊站在中間人的...