Bò Logic
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Farmer John có một biểu thức logic gồm từ khóa (, 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".
Có truy vấn (). Mỗi truy vấn cho hai số lẻ và () 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 đến và thay 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 và
- Dòng 2: từ khóa cách nhau bởi dấu cách, tạo thành biểu thức logic hợp lệ
- dòng tiếp theo: Hai số nguyên , (đều lẻ) và một chuỗi "true" hoặc "false"
Dữ liệu ra
Một chuỗi độ dài , ký tự thứ là 'Y' nếu truy vấn thứ khả thi, ngược lại là 'N'.
Ràng buộc
- , lẻ
- Test 3-5:
- Test 6-8:
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