Строительная организация планирует сооружение домов типа Д1, Д2, Д3 с 1-комнатными, 2-комнатными и 3-комнатными квартирами. Один дом Д1 сосоит из 10 одно-, 50 двух-,35 трехкомнатных квартир. Для домов Д2 и Д3 эти данные соответственно равны 20, 60, 10 и 15, 30, 5. Требуется составить программу строительства так, чтобы суммарные затраты на строительство не превысили 2500 млн.руб. при условии, что сумммарное число одно- и трехкомнатных квартир было не менее 55% от числа двухкомнатных. Известно, что затраты на возведение одного дома Д1, Д2 и Д3 составляют соответственно 700, 400 и 300 млн.руб. Создать отчет по результатам.
#include <iostream>
#include <vector>
using namespace std;
int f(vector<int> &u){
int k = 1;
bool has_negative = false;
for(auto &i : u){
if(i < 0){
k *= i;
has_negative = true;
}
}
return k * has_negative;
}
signed main(){
const int n = 5;
vector<vector<int>> a(n, vector<int> (n));
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
cin >> a[i][j];
for(int i = 0; i < n; i++)
cout << "Product of negatives in " << i + 1 << " line is " << f(a[i]) << "\n";
}
1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка
2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок
3. Из 112 восьмерок получится 37 девяток и одна восьмерка
4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка
5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8
6. И наконец получаем строку 8998
ответ: 8998