#include <stdio.h>
int main() {
printf("x y z | f_original | f_minimized\n"); printf("-------------------------------\n");
for (int x = 0; x <= 1; x++) {
for (int y = 0; y <= 1; y++) {
for (int z = 0; z <= 1; z++) {
// Оригінальна функція:
// f = ¬(z ∨ (¬y ∧ x)) → (¬x ∧ (¬z ∨ y))
int not_y = !y;
int A = z || (not_y && x); // A = z ∨ (¬y ∧ x)
int left = !A; // ¬(...)
int right = (!x) && ((!z) || y); // ¬x ∧ (¬z ∨ y)
int f_original = (!left) || right; // імплікація: ¬left ∨ right
// Мінімізована функція:
// f = ¬x ∨ ¬y ∨ z
int f_min = (!x) || (!y) || z;
printf("%d %d %d | %d | %d\n", x, y, z, f_original, f_min);
}
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIHByaW50ZigieCB5IHogfCBmX29yaWdpbmFsIHwgZl9taW5pbWl6ZWRcbiIpOwogICAgcHJpbnRmKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iKTsKCiAgICBmb3IgKGludCB4ID0gMDsgeCA8PSAxOyB4KyspIHsKICAgICAgICBmb3IgKGludCB5ID0gMDsgeSA8PSAxOyB5KyspIHsKICAgICAgICAgICAgZm9yIChpbnQgeiA9IDA7IHogPD0gMTsgeisrKSB7CgogICAgICAgICAgICAgICAgLy8g0J7RgNC40LPRltC90LDQu9GM0L3QsCDRhNGD0L3QutGG0ZbRjzoKICAgICAgICAgICAgICAgIC8vIGYgPSDCrCh6IOKIqCAowqx5IOKIpyB4KSkg4oaSICjCrHgg4oinICjCrHog4oioIHkpKQogICAgICAgICAgICAgICAgaW50IG5vdF95ID0gIXk7CiAgICAgICAgICAgICAgICBpbnQgQSA9IHogfHwgKG5vdF95ICYmIHgpOyAgICAgICAgICAvLyBBID0geiDiiKggKMKseSDiiKcgeCkKICAgICAgICAgICAgICAgIGludCBsZWZ0ID0gIUE7ICAgICAgICAgICAgICAgICAgICAgIC8vIMKsKC4uLikKICAgICAgICAgICAgICAgIGludCByaWdodCA9ICgheCkgJiYgKCgheikgfHwgeSk7ICAgIC8vIMKseCDiiKcgKMKseiDiiKggeSkKICAgICAgICAgICAgICAgIGludCBmX29yaWdpbmFsID0gKCFsZWZ0KSB8fCByaWdodDsgIC8vINGW0LzQv9C70ZbQutCw0YbRltGPOiDCrGxlZnQg4oioIHJpZ2h0CgogICAgICAgICAgICAgICAgLy8g0JzRltC90ZbQvNGW0LfQvtCy0LDQvdCwINGE0YPQvdC60YbRltGPOgogICAgICAgICAgICAgICAgLy8gZiA9IMKseCDiiKggwqx5IOKIqCB6CiAgICAgICAgICAgICAgICBpbnQgZl9taW4gPSAoIXgpIHx8ICgheSkgfHwgejsKCiAgICAgICAgICAgICAgICBwcmludGYoIiVkICVkICVkIHwgICAgICVkICAgICAgfCAgICAgICVkXG4iLAogICAgICAgICAgICAgICAgICAgICAgIHgsIHksIHosIGZfb3JpZ2luYWwsIGZfbWluKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQo=