#19235. 细胞膜上的离子通道

细胞膜上的离子通道

让我们把目光投向细胞膜表面。在这里,离子进进出出,化学反应在微观尺度上激烈进行。我为你构思了一道关于 “分子消除” 的题目,它模拟了物质在狭窄通道中的结合过程。这道题本质上是经典的 “括号匹配”“消除相邻重复项” 的变体,非常适合考察学生对 栈(Stack) 的理解。


[OI 题库] 细胞膜的“离子消消乐” (The Membrane Channel)

题目背景

“生命就是有序对抗无序的过程,但在微观层面,有时候‘消除’才是秩序的来源。” —— 《奇妙的航程》

在细胞膜上,有一种特殊的离子通道蛋白。它非常狭窄,一次只能容纳一个离子通过。

当一串离子流试图通过这个通道时,会发生一种神奇的 “同质化合反应”

  1. 离子必须依次进入通道。
  2. 通道很窄,离子不能插队,遵循 “后进先出” 的原则。
  3. 如果现在即将进入通道的离子,与通道口最外侧的离子是同一种元素(例如两个氧原子 O 相遇),它们会立刻结合成双原子分子(如 O2),变成气体扩散离开,从而腾出空间。
  4. 如果不同,新的离子就会堵在通道口,压住里面的离子。

作为细胞的守门员,你需要预测:在一串离子流经过后,通道里最终堵着哪些离子?

题目描述

给定一个字符串 SS,代表按顺序试图进入通道的离子流。字符串仅包含大写英文字母(代表元素符号,如 H, O, C, N 等)。

请模拟上述过程,输出最终留在通道内的离子序列(从通道底部到通道口的顺序)。

规则演示: 假设离子流为 HOOH

  1. H 进入,通道:[H]
  2. O 进入,与 H 不同。通道:[H, O]
  3. 另一个 O 进入,与通道口的 O 相同!嘭! 结合消失。通道恢复为:[H]
  4. 最后的 H 进入,与通道口的 H 相同!嘭! 结合消失。通道:[](空)

输入格式

一行,一个字符串 SS,表示离子流。

输出格式

一行,一个字符串,表示最终留在通道里的离子。如果通道为空,输出 Empty

样例数据

样例 1

HOOH
Empty

样例 2

HHCOOH
CH

(解析:HH消除 -> C进 -> O进 -> O进(与前一个O消除,通道只剩C) -> H进(被C压在下面)。最终剩 CH)

样例 3

ABCCBD
AD

(解析:CC消除 -> B与B消除 -> A与D留下)

数据范围

  • 1S1051 \le |S| \le 10^5
  • 字符串仅包含大写英文字母。