#2785. 交流电

交流电

题目描述

疯狂科学家 Mike 刚刚造好一台搜寻外星文明的新设备!他迫不及待地第一次启动它,连电源线都没细看就插上开始做实验了。过了一会儿,Mike 发现两根电线缠在了一起,现在必须重新解开。

设备由两根电线供电:"正极"和"负极"。电线从左边的墙一直铺到右边的设备。墙和设备上各有两个高度相同的接口,电线以某种顺序插在上面。如果有一处或多处一根电线压在另一根之上,就认为电线缠住了。例如下图(俯视图)就有四处这样的交叉:

Mike 知道电线依次上下交叉的顺序,还注意到左侧"正极"线总是插在上面的接口(如图所示)。他想在不拔下电线、也不挪动设备的前提下把电线解开。请判断这是否可能。电线可以在地板上自由移动和拉伸,但不能剪断。

为了更好地理解题意,请阅读样例的说明。

输入格式

输入唯一一行包含一个由字符 "+" 和 "-" 组成、长度为 nn(1≤n≤1000001 \le n \le 100000)的序列。序列的第 ii(1≤i≤n1 \le i \le n)个位置若是 "+",表示从墙数起第 ii 步处"正极"线压在"负极"线上方;若是 "-" 则表示相反。

输出格式

若电线可以解开,输出 Yes(不含引号);否则输出 No。

-++-
Yes
+-
No
++
Yes
-
No

说明/提示

第一组样例对应题面插图。要解开电线,可以先把"正极"线放低,消除中间的两个交叉,再把它拉到"负极"线下方,把剩下的两个交叉也消除。

第二组样例中,"正极"线绕"负极"线整整转了一圈,因此无法解开:

第三组样例中,"正极"线只是连续两次压在"负极"线上方。把"正极"线抬高即可解开:

第四组样例中,"负极"线压过"正极"线一次。不挪动设备本身无法解开: