supereleo2018
29.07.2020 03:01

Самое первое и всем нам известное вычислительное устрой- ство - счеты. Никто не может сказать, когда они появились: по не-
которым данным им более 2000-5000 лет. Использовались они
в Древнем Китае, в Древнем Египте и Древней Греции (схема 2).​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
арина1495
18.11.2022 09:13
Задача 7. ВОДОЛАЗКА
Задача 2. после 6 применений 64 четных цифры (после каждого применения их количество увеличивается в 2 раза)
Задача 1. не может быть Даша второй, т.к. это утверждение в 4 и 5 строках. Не может быть третьей Ира (предполагается в 3 и 5 строках). Значит первая Маша. А Даша и Ира - не призеры. Из 4-й строки получаем. что и Боря не призер. Из 1 и 3 строки получаем, что Вася - не призер (т.к. указано что Вася второй и Вася третий). Значит призер Таня (не первая и не третья, значит - вторая). Из 2 строки получаем, что и Гена не призер. Остается Антон - третий
ответ: Маша, Таня, Антон
Задача 3. Всего можно составить  60 трехзначных чисел. Числе. меньших 200, 12. Вероятность 12/60=0,2
Задача 9. 16
Задача 4. Можно (Земля-Марс-юпитер-Венера-Меркурий)
Задача 6.
370
343
640
613
910
901
271
253
550
 
0,0(0 оценок)
Ответ:
587989nm
21.05.2021 19:20
#include <iostream>
#include <map>
#include <vector>

using namespace std;

map<pair<int, int>, int> saved_rec;
map<int, pair<int, int>> path;

int max_cost(const vector<int>& cost, int day, int length)
{
    if (day + 1 < length)
        length = day + 1;
    if (saved_rec[make_pair(day, length)] != 0)
        return saved_rec[make_pair(day, length)];

    int tmp_cost, max = cost[day] * length, max_i = length;

    if (day != 0)
        for (int i = 0; i <= length; ++i)
        {
            
            tmp_cost = max_cost(cost, day - 1, length-i)
                + cost[day] * i;
            if (tmp_cost > max)
            {
                max = tmp_cost;
                max_i = i;
            }
        }

    saved_rec[make_pair(day, length)] = max;
    if (max_i != 0)
        path[max] = make_pair(day, max_i);
    return max;
}

int main()
{
    vector<int> cost = { 6, 2, 5, 4, 5, 3, 3, 4};

    int last_day_num = cost.size() - 1,
        total_length = cost.size(),
        max;
    
    max = max_cost(cost, last_day_num, total_length);
    cout << "Max profit: " << max << endl;

    pair<int, int> day_count;
    int sm = 0;
    
    do
    {
        day_count = path[max];
        cout << "Day: " << day_count.first << ", length: " << day_count.second << endl;
        max -= cost[day_count.first] * day_count.second;
    } while (max != 0);
}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота