Bò Logic

Đề bài

Mô tả

Farmer John có một biểu thức logic gồm N từ khóa (1N<2×105, N lẻ). Các vị trí lẻ (1, 3, 5, ...) chứa "true" hoặc "false", các vị trí chẵn (2, 4, 6, ...) chứa "and" hoặc "or".

Phép toán "and" có độ ưu tiên cao hơn "or". Biểu thức được tính bằng cách lặp lại: chọn một phép "and" bất kỳ, thay thế ba từ khóa xung quanh (giá trị - and - giá trị) bằng kết quả, cho đến khi chỉ còn một giá trị. Sau đó tính tương tự với "or".

Q truy vấn (1Q2×105). Mỗi truy vấn cho hai số lẻ lr (1lrN) và một giá trị mục tiêu "true" hoặc "false". Truy vấn hỏi: liệu có thể xóa đoạn từ khóa l đến rthay thế bằng đúng một giá trị "true" hoặc "false" sao cho toàn bộ biểu thức có kết quả bằng giá trị mục tiêu?

Dữ liệu vào

  • Dòng 1: Hai số nguyên NQ
  • Dòng 2: N từ khóa cách nhau bởi dấu cách, tạo thành biểu thức logic hợp lệ
  • Q dòng tiếp theo: Hai số nguyên l, r (đều lẻ) và một chuỗi "true" hoặc "false"

Dữ liệu ra

Một chuỗi độ dài Q, ký tự thứ i là 'Y' nếu truy vấn thứ i khả thi, ngược lại là 'N'.

Ràng buộc

  • 3N<2×105, N lẻ
  • 1Q2×105
  • Test 3-5: N,Q100
  • Test 6-8: N,Q1000

Ví dụ

Input Output Giải thích
5 7
false and true or true
1 1 false
1 3 true
1 5 false
3 3 true
3 3 false
5 5 false
5 5 true
NYYYNYY Biểu thức gốc: false AND true OR true = false OR true = true. Truy vấn 1: thay vị trí 1 bằng "true" hoặc "false", kết quả cần là "false" -- không thể vì "true or true" = true.
13 4
false or true and false and false and true or true and false
1 5 false
3 11 true
3 11 false
13 13 true
YNYY Biểu thức gồm 7 giá trị và 6 toán tử.

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