hdu 1434 幸福列車

2022-08-03 14:12:15 字數 2454 閱讀 5633

一批幸福的列車即將從杭州駛向幸福的終點站——溫州,身為總列車長的linle有一些奇怪的癖好。

他會記錄下全部乘客的名字(name)和他們的人品值(rp),根據這些將他們排序,並不時地從某輛列車裡踢出人品最不好(rp值最低)的乙個人,當兩個人人品一樣不好時,他就會踢出名字難聽的人(linle認為按字典順序,排在越在後面的人名字越難聽)。

當然出於列車行駛需要,他還會不時的發布一些命令,比如讓某個乘客上車,合併某兩輛列車等。

linle的上一任秘書***因為不能高效地執行他的這些命令而被炒魷魚,他現在正在尋覓新的秘書人選,你能不能勝任呢?(謝絕男士,待遇豐厚~~~)

本題包含多組測試,請處理到檔案結束。

對於每一組測試,第一行包含兩個整數 n ,m ,表示一共有n( n<=10000 ) 輛列車,執行m( m<=10000 )次操作。

接下來有 n (從1開始記數)輛列車的資訊,每輛列車先有乙個數字 xi(1 <= xi <= 100 ),表示該列車有xi個乘客,接下來xi行乘客資訊,每個乘客包含名字(20個字元以內,不包含空白符)和人品(0<= rp <=30000)。

再接下來有 m 行操作資訊,一共有3種操作,分別為

geton xi name rp 表示有乙個叫name的人品為rp的人登上第xi列車

join xi xj 表示有將第xj輛列車合併到xi輛列車

getout xi 表示從第xi輛列車踢出乙個人品最差的人

測試資料保證每個操作均合法,即不會將已經被合併到其他列車的列車再進行合併,也不會從一輛空列車裡踢出乘客

對於每個 getout 命令,輸出被踢出的那個人的名字

3 52

xhd 0

zl 1

28600 1

ll 2

1ignatius 3

getout 1

join 1 2

getout 1

geton 3 hoho 2

getout 3

xhdzl

hoho

優先佇列吧,佇列合併的時候用可並堆要快一些吧,哎。懶得寫了。。

1 #include2 #include3 #include4 #include5 #include6 #include7 #include

8 #include9 #include10

using

std::cin;

11using

std::cout;

12using

std::endl;

13using

std::find;

14using

std::sort;

15using

std::map;

16using

std::pair;

17using std::string;18

using

std::vector;

19using

std::multimap;

20using

std::priority_queue;

21#define pb(e) push_back(e)

22#define sz(c) (int)(c).size()

23#define mp(a, b) make_pair(a, b)

24#define all(c) (c).begin(), (c).end()

25#define iter(c) decltype((c).begin())

26#define cls(arr,val) memset(arr,val,sizeof(arr))

27#define cpresent(c, e) (find(all(c), (e)) != (c).end())

28#define rep(i, n) for (int i = 0; i < (int)(n); i++)

29#define tr(c, i) for (iter(c) i = (c).begin(); i != (c).end(); ++i)

30const

int n = 10010

;31 typedef unsigned long

long

ull;

32struct

node

36 inline bool

operator

39};

40 priority_queueque[n];

41int

main() 55}

56while (m--) else

if (!strcmp(buf, "

join

"))

67 } else72}

73 rep(i, n + 1) while (!que[i].empty()) que[i].pop();74}

75return0;

76 }

view code

HDU 1434 幸福列車 優先佇列

一批幸福的列車即將從杭州駛向幸福的終點站 溫州,身為總列車長的linle有一些奇怪的癖好。他會記錄下全部乘客的名字 name 和他們的人品值 rp 根據這些將他們排序,並不時地從某輛列車裡踢出人品最不好 rp值最低 的乙個人,當兩個人人品一樣不好時,他就會踢出名字難聽的人 linle認為按字典順序,...

HDU1434 幸福列車(優先佇列)

problem description 一批幸福的列車即將從杭州駛向幸福的終點站 溫州,身為總列車長的linle有一些奇怪的癖好。他會記錄下全部乘客的名字 name 和他們的人品值 rp 根據這些將他們排序,並不時地從某輛列車裡踢出人品最不好 rp值最低 的乙個人,當兩個人人品一樣不好時,他就會踢出...

A 幸福列車

一批幸福的列車即將從杭州駛向幸福的終點站 溫州,身為總列車長的linle有一些奇怪的癖好。他會記錄下全部乘客的名字 name 和他們的人品值 rp 根據這些將他們排序,並不時地從某輛列車裡踢出人品最不好 rp值最低 的乙個人,當兩個人人品一樣不好時,他就會踢出名字難聽的人 linle認為按字典順序,...