HDU 4557 非誠勿擾 字串

2022-07-26 06:36:09 字數 1908 閱讀 7232

問題描述 :

作為2023年699萬應屆畢業生中的一員,由於巨集觀經濟的不景氣,小明在畢業當天就華麗麗地失業了!   經歷了千難萬苦的求職過程,小明特別能理解畢業生的就業之難,所以,他現在準備建立一家專門針對it人才的求職中介公司――非誠勿擾人力資源開發****。   基於工作的需要,小明根據求職學生的簡歷描述為每人評定了乙個綜合能力值,能力值是乙個小於等於20的正整數,值越高表示能力越強。當有公司試圖招聘it人員的時候(每次只招聘1名),需要提出乙個綜合能力的最低需求,若人才庫中有符合要求的人才,則一定能成功招聘。當然,若有多名學生同時滿足招聘公司的需求,鑑於高能力人才的稀缺,小明總是優先把能力值低的人才推薦過去;如果依然有多名人員符合要求,則小明就把其中最早來求職的那位學生推薦過去。   需要說明的是,剛開始的時候,公司的人才庫為空,而且一名學生只能和乙個企業簽約,如果推薦成功,則該名學生的資訊需要從人才庫中刪除。

輸入:輸入資料的第一行是乙個正整數t(1 <= t <= 20), 表示有t組測試資料;   每組測試資料第一行是乙個整數n(0 <= n <= 1000),表示按照時間先後發生了n次事件。接下來的n行,每行描述一次事件。對於一次事件,先是乙個字串"add"或者"find",其中"add"表示有一名學生加入了人才庫,"find"表示有企業想招聘一名人員。 如果字串是"add",則後面將有乙個字串s和乙個數字d,用空格隔開,分別表示該名學生的名字和綜合能力值,名字由小寫字母組成,不為空且長度不超過15;如果字串是"find",則後面將有乙個數字,表示招聘公司對人才綜合能力的最低要求。

輸出:輸入資料的第一行是乙個正整數t(1 <= t <= 20), 表示有t組測試資料;   每組測試資料第一行是乙個整數n(0 <= n <= 1000),表示按照時間先後發生了n次事件。接下來的n行,每行描述一次事件。對於一次事件,先是乙個字串"add"或者"find",其中"add"表示有一名學生加入了人才庫,"find"表示有企業想招聘一名人員。 如果字串是"add",則後面將有乙個字串s和乙個數字d,用空格隔開,分別表示該名學生的名字和綜合能力值,名字由小寫字母組成,不為空且長度不超過15;如果字串是"find",則後面將有乙個數字,表示招聘公司對人才綜合能力的最低要求。

樣例輸入:

1

5add lcy 1

add lyd 19

find 11

find 13

add zxs 10

樣例輸出:

case #1:12

lydwait...

2解題思路:

(1)、分情況討論,分為add和find兩種情況討論,其實我們只需要檢視首字母

(2)、我們用乙個陣列book,首先全部賦值為0;當從人才庫中取出人才時,就記錄為1。

(3)、注意我們取出人才時,在所有滿足公司要求的能力值的人中取出能力值最小的;如果有幾個最小值,我們就取出最早求職的。

(4)、當新增人時,人才庫的容量sun 就要加1;取出時就要減1;

1 #include 2 #include 3 #include 4

using

namespace

std;

5int grade[1010];6

char name[1010][20];7

int book[1010];//

標記, 將還在人才庫裡的人標記為0,不在標記為1

8int

main()930

else

3142}43

if(k==-1)//

沒有找到滿足公司要求的人

44 cout<

wait...

"<

45else

//找到

4651}52

}53}54

return0;

55 }

view code

HDU 4557 非誠勿擾

題目描述 作為2013年699萬應屆畢業生中的一員,由於巨集觀經濟的不景氣,小明在畢業當天就華麗麗地失業了!經歷了千難萬苦的求職過程,小明特別能理解畢業生的就業之難,所以,他現在準備建立一家專門針對it人才的求職中介公司 非誠勿擾人力資源開發 基於工作的需要,小明根據求職學生的簡歷描述為每人評定了乙...

非誠勿擾 HDU 4557 Treap入門

作為2013年699萬應屆畢業生中的一員,由於巨集觀經濟的不景氣,小明在畢業當天就華麗麗地失業了!經歷了千難萬苦的求職過程,小明特別能理解畢業生的就業之難,所以,他現在準備建立一家專門針對it人才的求職中介公司 非誠勿擾人力資源開發 基於工作的需要,小明根據求職學生的簡歷描述為每人評定了乙個綜合能力...

hdu 字串統計

problem description 對於給定的乙個字串,統計其中數字字元出現的次數。input 輸入資料有多行,第一行是乙個整數n,表示測試例項的個數,後面跟著n行,每行包括乙個由字母和數字組成的字串。output 對於每個測試例項,輸出該串中數值的個數,每個輸出佔一行。sample input...