CF749C Voting
题目描述
在 Alternative Cake Manufacturing(ACM)公司有 $n$ 名员工。现在他们要就某个非常重要的问题进行投票,全球主流媒体都在试图预测投票的结果。
每位员工都属于两个派系之一:depublicans 或 remocrats,这两个派系对投票结果有截然相反的意见。投票流程相当复杂:
1. 每个员工都要发表声明。他们按顺序从第 $1$ 个员工依次到第 $n$ 个员工发表声明。如果轮到第 $i$ 个员工声明时,他已经失去投票权,则跳过本轮,不再参与后续的投票过程。
2. 当员工发表声明时,他可以什么都不做,也可以宣布让某个其他员工失去投票权。可以让已经发表过声明的人失去投票权,也可以让还没发表声明的人失去投票权。被禁止投票的人将不会再参与后续的投票过程。
3. 当所有员工发表完声明后,流程会重复:仍有投票资格的员工再次按 $1$ 到 $n$ 的顺序发表声明。
4. 这一过程反复进行,直到只剩下一名拥有投票权的员工为止,最终结果由这名员工所属派系决定。显然,他会投给自己派系所支持的选项。
你知道员工最初投票顺序,并且他们会采取最优策略(所有员工也知道彼此顺序与派系归属)。请预测最终投票结果会归属于哪个阵营。
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 200\,000$)——表示员工人数。
第二行包含 $n$ 个字符。第 $i$ 个字符为 'D' 表示第 $i$ 个员工属于 depublicans 派系,'R' 表示第 $i$ 个员工属于 remocrats 派系。
输出格式
输出一行,若最终获胜的是 depublicans 阵营则输出 'D',若 remocrats 阵营获胜则输出 'R'。
说明/提示
以下是第一个样例的某种投票流程:
1. 员工 $1$ 剥夺了员工 $5$ 的投票权。
2. 员工 $2$ 剥夺了员工 $3$ 的投票权。
3. 员工 $3$ 已经被剥夺了投票权,跳过本轮(被员工 $2$ 剥夺)。
4. 员工 $4$ 剥夺了员工 $2$ 的投票权。
5. 员工 $5$ 已经被剥夺了投票权,跳过本轮(被员工 $1$ 剥夺)。
6. 员工 $1$ 剥夺了员工 $4$ 的投票权。
7. 此时只有员工 $1$ 还保有投票权,因此投票结束,最终 depublicans 阵营获胜。
由 ChatGPT 5 翻译