olga810706
22.10.2020 04:10

Филле и рулле планируют ограбление

полицейский кверти - блюститель закона и порядка в городе н. но вот , в городе появились гастролеры - знаменитые воры филле и рулле. этой ночью филле и рулле собираются ограбить жилой дом. дом имеет высоту в n этажей, и на каждом этаже k окон. также они знают планировку на этажах, то есть знают, что на каждом этаже m квартир и что первые p 1 окон относятся к первой квартире, следующие p 2 окон – ко второй и так далее. нумерация квартир начинается с единицы и идет снизу вверх и слева направо. итак, филле и рулле сидят на крыше дома напротив. филле смотрит, в каких окнах горит свет, а в каких не горит. для грабежа, естественно, подходят только те квартиры, ни в одном из окон которых не горит свет. кверти защитить город и его жителей - найти номера квартир, пригодных для грабежа и установить там засаду для бандитов.

в первой строке записано три натуральных числа m , n , k ( 1 ≤ n ⋅ k ≤ 1 0 6 ) – число квартир на этаже, число этажей, количество окон на этаже соответственно. во второй строке записаны m натуральных чисел p 1 , … , p m – число окон для каждой квартиры слева направо. далее в n строках записано для каждого этажа, какие окна горят. каждая из этих строк содержит k чисел f i , где f i принимает значения 0 или 1, где 1 означает, что свет в окне есть, 0 – в окне темно. первая из данных строк описывает самый верхний этаж, а последняя – первый этаж. гарантируется, что данные корректны.

в первой строке вывести число подходящих квартир, во второй – их номера в порядке возрастания через пробел.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
hiordi
28.08.2021 09:58
Код#include <iostream>constexpr double bites_to_megabytes(double a) {    return a / 8388608;}constexpr double megabytes_to_gigabytes(double a) {    return a / 1024;}int main() {    long long a;    short type;    bool is_correct = false;    double answer;    do {        std::cin >> a;        std::cout << "[1] Megabytes \n"                  << "[2] Gigabytes \n"                  << "Convert to [1] or [2]: ";        std::cin >> type;        if (type == 1 or type == 2) {            is_correct = true;        } else {            std::cout << "Meh. Try to type again. \n" << std:: endl;        }    } while (!is_correct);    switch (type) {        case 1:            answer = bites_to_megabytes(a);            break;        case 2:            answer = megabytes_to_gigabytes(bites_to_megabytes(a));            break;    }    std::cout << "An answer of conversion is " << answer << std::endl;    return 0;}
0,0(0 оценок)
Ответ:
AzamatAmangaliev1
06.01.2021 02:43
Во-первых, не whill, а while.
 Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу.
 Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота