Сколько таблиц истинности подходит
Условие
Есть n логических переменных x1, x2, ..., xn, каждая принимает значение 0 или 1. Задано m условий двух типов.
Каждое условие задаётся тройкой a b t:
- если t = 1, то должно быть истинно (x_a → x_b). Импликация (p → q) ложна только в случае p = 1 и q = 0, во всех остальных случаях она истинна;
- если t = 0, то должно быть истинно (x_a ∨ x_b).
Найдите, сколько наборов значений (x1, x2, ..., xn) удовлетворяют одновременно всем m условиям.
Формат ввода:
- Первая строка: два целых числа n и m.
- Далее m строк: по три целых числа a, b, t.
Формат вывода:
- Одно целое число — количество подходящих наборов.
Ограничения:
- 1 ≤ n ≤ 14
- 0 ≤ m ≤ 200
- 1 ≤ a, b ≤ n
- t ∈ {0, 1}
Пример: Ввод: 2 2 1 2 1 1 2 0 Вывод: 2
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс