Contest Edu #1 - Radar biển

Xem dạng PDF

Gửi bài giải


Điểm: 0,50
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Radar theo dõi các loài sinh vật biển đã gặp vấn đề! Một radar bị lỗi khi ít nhất 1 trường hợp dưới đây xảy ra:

  • Đầu hoặc đuôi sinh vật biển này ở trong đầu hoặc đuôi sinh vật khác.
  • Sinh vật biển có đầu nhưng không có đuôi hoặc ngược lại.

Mỗi radar được biểu diễn bằng 1 xâu chỉ gồm 3 loại ký tự H, T, . lần lượt ký hiệu cho đầu, đuôi sinh vật biển và . là khoảng không. Mọi sinh vật hiển thị trên một radar nằm ngang và chỉ theo 1 trong 2 chiều nhất định: H...T hoặc T...H (phần đầu trước, phần đuôi sau và ngược lại). Trong trường hợp 1 radar có nhiều cách hiểu khác nhau, ưu tiên cách hiểu mà trong đó radar không gặp lỗi (xem test ví dụ để hiểu rõ hơn). Ví dụ: H....T.......THHT là hình ảnh của 1 radar hợp lệ. H....TH...T....H là hình ảnh của 1 radar bị lỗi.

Yêu cầu

Cho ~n~ radar, hãy xác định mỗi radar có gặp lỗi hay không.

Dữ liệu

  • Dòng đầu tiên chứa số nguyên ~n~ là số lượng radar cần truy vấn ~(1 \leq n \leq 10^5)~.
  • ~n~ dòng tiếp theo, dòng thứ ~i~ chứa xâu ~s_i~ đại diện cho radar thứ ~i~ ~(|s_i| \leq 100)~. Đảm bảo xâu ~s~ chỉ chứa các ký tự H, T hoặc ..

Kết quả

  • In ra ~n~ dòng, dòng thứ ~i~ in ra YES nếu radar thứ ~i~ gặp lỗi, ngược lại in ra NO.

Ví dụ

Input
5
...H...H.T...T...
...H...T...H.T...
...T...H...T...
T...H...H...T...
...HH...T...T...
Output
YES
NO
YES
NO
YES
Giải thích

TH1: Radar gặp lỗi vì đầu/đuôi của 1 sinh vật nằm trong đầu/đuôi của 1 sinh vật khác.

TH2: Radar có hai cách hiểu: ...H_1...T_1...H_2.T_2... hoặc ...H_1...T_2...H_2.T_1... Trong đó, cách hiểu đầu tiên cho kết quả radar không bị lỗi → Cách hiểu này được ưu tiên và đáp án là NO.

TH3: Có một sinh vật biển có đuôi nhưng không có đầu.


Bình luận

Hãy đọc nội quy trước khi bình luận.


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