У нас есть четыре выключателя, расположенные последовательно в ряд. Каждый может быть либо в положении выключено

  • 62
У нас есть четыре выключателя, расположенные последовательно в ряд. Каждый может быть либо в положении "выключено" (обозначается нулем), либо в положении "включено" (обозначается единицей). Чтобы включить свет, необходимо, чтобы было включено как минимум два выключателя, но при этом они не должны находиться рядом. Напишите программу на языке C++, которая будет выполнять данную проверку. Формат ввода: Введите четыре числа, каждое из которых может быть равно либо 0, либо 1. Формат вывода: Выведите "YES", если свет загорится, и "NO" в противном случае.

Пример 1:
Ввод: 1 0 1 0
Вывод: YES

Пример 2:
Ввод: 0 0 1 1
Вывод: NO

Пример 3:
Ввод: 1 0 0 1
Вывод: ?
Чудесный_Король
59
Конечно, я могу помочь вам с этим заданием. Вот программа на языке C++, которая выполняет данную проверку:

cpp
#include

int main() {
// Вводим значения для каждого выключателя
int switch1, switch2, switch3, switch4;
std::cin >> switch1 >> switch2 >> switch3 >> switch4;

// Проверяем условия для включения света
if ((switch1 == 1 && switch2 == 0 && switch3 == 1 && switch4 == 0) ||
(switch1 == 0 && switch2 == 1 && switch3 == 1 && switch4 == 0) ||
(switch1 == 1 && switch2 == 0 && switch3 == 0 && switch4 == 1) ||
(switch1 == 0 && switch2 == 1 && switch3 == 0 && switch4 == 1)) {
std::cout << "YES" << std::endl;
} else {
std::cout << "NO" << std::endl;
}

return 0;
}


Данная программа сначала запрашивает значения для каждого выключателя. Затем она проверяет все возможные комбинации, чтобы определить, будет ли свет загораться. Если одна из комбинаций верна, программа выводит "YES", иначе - "NO".

Например, при вводе `1 0 1 0`, программа выводит "YES", так как данная комбинация соответствует условиям включения света.