Dòng điện xoay chiều

Đề bài

Mô tả

Có hai sợi dây điện chạy song song từ bức tường bên trái tới một thiết bị bên phải. Cả tường lẫn thiết bị đều có hai điểm cắm nằm trên cùng một đường ngang. Ở phía tường, dây "cộng" (+) được cắm ở điểm trên, dây "trừ" (−) được cắm ở điểm dưới. Hai sợi dây có thể bắt chéo nhau nhiều lần trên đường đi.

Khi nhìn từ trên xuống dọc theo đường đi từ trái sang phải, ta ghi lại một xâu s độ dài n gồm các ký tự +-:

  • si= + nếu tại lần bắt chéo thứ i, dây cộng nằm trên dây trừ.
  • si= - nếu tại lần bắt chéo thứ i, dây trừ nằm trên dây cộng.

Bạn được phép tự do di chuyển và kéo căng các sợi dây trên sàn (không cắt, không rút phích cắm, không di chuyển thiết bị). Hãy xác định liệu có thể tháo gỡ hai sợi dây để chúng không còn bắt chéo nhau nữa hay không.

Dữ liệu vào

Một dòng duy nhất chứa xâu s gồm các ký tự +-.

Dữ liệu ra

In ra YES nếu có thể tháo gỡ hết các điểm bắt chéo, ngược lại in ra NO.

Ràng buộc

  • 1n100000
  • s chỉ gồm các ký tự +-.

Ví dụ

Input Output Giải thích
-++- YES Hai cặp bắt chéo ++ ở giữa triệt tiêu lẫn nhau; còn lại -- cũng triệt tiêu.
++ YES Dây cộng chỉ chạy bên trên dây trừ hai lần liên tiếp, có thể nâng lên để gỡ.
+- NO Dây cộng quấn đúng một vòng quanh dây trừ, không thể gỡ.
- NO Dây trừ vượt qua dây cộng đúng một lần và không có cách triệt tiêu.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0