Biểu thức logic

Đề bài

Mô tả

Một biểu thức logic là biểu thức gồm các biến (được kí hiệu bằng các chữ cái in thường nhận giá trị là số nguyên 32 bit không dấu) với các toán tử logic AND, OR, XOR và các dấu ngoặc. Một biểu thức hợp lệ được định nghĩa như sau:

  • Nếu x, y là biến thì: x là biểu thức hợp lệ; y là biểu thức hợp lệ; (x AND y), (x OR y), (x XOR y) là các biểu thức hợp lệ.
  • Nếu A, B là biểu thức hợp lệ thì: (A AND B), (A OR B), (A XOR B) là các biểu thức hợp lệ.

Ví dụ: x((x AND y) OR z) là các biểu thức hợp lệ; (x AND y là biểu thức không hợp lệ vì thiếu dấu ngoặc đóng; (x AND y) OR z là biểu thức không hợp lệ vì thiếu cặp dấu ngoặc bao ở ngoài cùng.

Trong bài toán này chỉ xét biểu thức hợp lệ mà mỗi biến chỉ xuất hiện một lần.

Cho một phương trình có dạng biểu_thức_F = P0 trong đó P0 là một số nguyên 32 bit không dấu. Hãy đếm số các bộ giá trị của các biến để khi thay vào biểuthứcF, ta thu được một đẳng thức đúng.

Dữ liệu vào

  • Dòng đầu tiên ghi số nguyên dương K là số lượng bộ dữ liệu.
  • Tiếp đến là K dòng, mỗi dòng (tương ứng với một bộ dữ liệu) chứa một xâu có dạng biểu_thức_F = P0 trong đó biểuthứcF là một biểu thức hợp lệ.

Dữ liệu ra

Gồm K dòng, mỗi dòng ghi một số nguyên là phần dư của phép chia số lượng các bộ giá trị để phương trình đúng cho 1000000009 (109+9) tương ứng với bộ dữ liệu trong file dữ liệu vào.

Ràng buộc

  • Subtask 1 (15 điểm): Biểu thức chỉ chứa phép OR, số lượng biến không vượt quá 80P0<8.
  • Subtask 2 (20 điểm): Biểu thức chỉ chứa phép OR, số lượng biến không vượt quá 260P0<8.
  • Subtask 3 (15 điểm): Số lượng biến không vượt quá 26 và biểu thức chỉ chứa toàn phép AND hoặc biểu thức chỉ chứa toàn phép XOR.
  • Subtask 4 (20 điểm): Số lượng biến không vượt quá 260P0<232.

Ví dụ

Input Output Giải thích
3
(a OR b) = 2
(a OR (b OR c)) = 3
(x XOR y) = 2
3
49
294967260

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