一批幸福的列車即將從杭州駛向幸福的終點站——溫州,身為總列車長的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 #includeview code8 #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 }
HDU 1434 幸福列車 優先佇列
一批幸福的列車即將從杭州駛向幸福的終點站 溫州,身為總列車長的linle有一些奇怪的癖好。他會記錄下全部乘客的名字 name 和他們的人品值 rp 根據這些將他們排序,並不時地從某輛列車裡踢出人品最不好 rp值最低 的乙個人,當兩個人人品一樣不好時,他就會踢出名字難聽的人 linle認為按字典順序,...
HDU1434 幸福列車(優先佇列)
problem description 一批幸福的列車即將從杭州駛向幸福的終點站 溫州,身為總列車長的linle有一些奇怪的癖好。他會記錄下全部乘客的名字 name 和他們的人品值 rp 根據這些將他們排序,並不時地從某輛列車裡踢出人品最不好 rp值最低 的乙個人,當兩個人人品一樣不好時,他就會踢出...
A 幸福列車
一批幸福的列車即將從杭州駛向幸福的終點站 溫州,身為總列車長的linle有一些奇怪的癖好。他會記錄下全部乘客的名字 name 和他們的人品值 rp 根據這些將他們排序,並不時地從某輛列車裡踢出人品最不好 rp值最低 的乙個人,當兩個人人品一樣不好時,他就會踢出名字難聽的人 linle認為按字典順序,...