Cú pháp
~
không
/\
và
\/
hay
t
đúng
f
sai
P
, Q
, FISH
, vv: biến
(Toán tử được đưa ra theo thứ tự ưu tiên)
Giới thiệu
Một số công thức boolean có thể được thay đổi thành các hình thức khác nhau để làm cho chúng ngắn hơn. Ví dụ: công thức
~(~P /\ ~Q)
có thể thay đổi thành dạng ngắn hơn
P\/Q
trong khi công thức
P \/ ~P
có thể thay đổi thành dạng ngắn hơn
t
Thử thách
Trong thử thách này, bạn được yêu cầu viết một chương trình đó, đưa ra bất kỳ công thức boolean chỉ sử dụng /\
, \/
, ~
, t
, f
, dấu ngoặc đơn, biến boolean (viết hoa), và khoảng trắng, kết quả đầu ra một hình thức ngắn nhất (vì có thể có nhiều hơn một hình thức ngắn nhất ) trong các ký tự của biểu thức đó tương đương với tất cả các phép gán của các biến. Mã ngắn nhất (trong bất kỳ ngôn ngữ) chiến thắng. I / O có thể được thực hiện theo bất kỳ cách hợp lý.
Ngoài ra, vì các câu trả lời rất khó để xác minh, sẽ rất hữu ích (nhưng không bắt buộc) để bao gồm một lời giải thích ngắn gọn về cách hoạt động của mã.
BooleanMinimize
)
b9c98d088b78c30bb2108008a064a7b95722a4694d90ddad94a025c2eb4ed30a
. Tôi sẽ đăng mã thực tế vào một ngày sau đó, vì tôi không muốn kìm hãm sự sáng tạo.