Kiểm thử

Xem dạng PDF

Gửi bài giải

Điểm: 0,30 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Trong thiết kế hệ thống, kiểm thử là một giai đoạn vô cùng quan trọng. Quân đang thiết kế một máy theo nguyên lí máy Turing, tức là thực hiện các thao tác trên một băng ghi bộ nhớ; và máy của anh đang trong giai đoạn kiểm thử.

Băng ghi bộ nhớ của Quân có thể coi là một xâu nhị phân ~n~ kí tự được đánh số từ ~1~ đến ~n~ Để kiểm tra máy, người ta lần lượt thực hiện các truy vấn:

  • x y z t: Kiểm tra xem hai xâu con từ ~x~ đến ~y~ và từ ~z~ đến ~t~ có giống nhau không?

Yêu cầu: Bạn hãy giúp Quân kiểm tra máy của anh bằng cách trả lời các truy vấn nhé!

Input Format

Dòng đầu tiên chứa xâu nhị phân ~S~ ~(|S| \le 10^{5})~ mô tả trạng thái băng nhớ.

Dòng thứ hai chứa số nguyên dương ~q~ ~( 1 \le q \le 10^{5})~ là số truy vấn.

~q~ dòng tiếp theo mỗi dòng gồm 4 số nguyên dương ~x,y,z,t~ ~(1 \le x \le y \le |S| ,1 \le z \le t \le |S|)~ mô tả một truy vấn

Output Format

In ra nhiều dòng theo thứ tự là đáp án của truy vấn tương ứng:

  • Nếu hai dãy là giống nhau, in ra YES, ngược lại in ra NO.

Scoring

  • Subtask ~1~ (~36~ điểm): ~1 \le |S| , q \le 1000 ~.
  • Subtask ~3~ (~64~ điểm): Không có điều kiện gì thêm.

Sample Input

01101011
5
4 5 6 7
2 3 5 6
1 3 5 6
1 5 2 7
1 2 7 8

Sample Output

YES
NO
NO
NO
NO

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.