巴巴博弈。
首先注意到 Ai,BiA_i,B_iAi ,Bi 可能等于 000,这堆就没用了,所以先把 000 去掉。然后将 A,BA,BA,B 从小到大排序。
假如 A=BA=BA=B,则 Macw 取啥 Penelope 取啥就行了,Penelope 必嬴。
假如 n≠mn\not= mn=m,那么 Macw 先选堆数最少的那一个然后取完后直接换位 Penelope 不炸了。
假如 An>BnA_n\gt B_nAn >Bn ,那么 Macw 在第 nnn 堆取 BnB_nBn 个,Penelope 要么继续保持 An>BnA_n\gt B_nAn >Bn 的状态,要么把第 nnn 堆取完,这时 Vincent 换个位 Penelope 不炸了。
注意到只要 A≠BA\not= BA=B,那么一直取最大值一定可以使得落入 An>BnA_n\gt B_nAn >Bn 上。此时 Macw 必赢。
时间复杂度:O(∑nlogn)O(\sum n\log n)O(∑nlogn)。