М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Astronavtka
Astronavtka
20.05.2021 17:27 •  Информатика

Между на селеными пунктами a, b, c, d, e построены дороги

👇
Ответ:
arseniy0114
arseniy0114
20.05.2021
И что надо Сделать в этом задание
4,7(25 оценок)
Открыть все ответы
Ответ:
//Pascal ABC.NET 3.1 сборка 1256

//1
Const
 n=3;
 m=4;

 Var
 ma:array[1..n,1..m] of real;
 ar:array[1..n] of real;
i,j:integer;
s:real;
begin
randomize;
s:=0;
writeln('Matrix:');
for i:=1 to n do
 begin
  for j:=1 to m do
   begin
    ma[i,j]:=random(10);
    write(ma[i,j]:4);
    s:=s+ma[i,j];
   end;
  ar[i]:=s;
  s:=0;
  writeln;
 end;
writeln('Res:');
for i:=1 to n do
 writeln(i,':',ar[i]);
end.

//2
Var
 se:set of char;
 s:string;
 i,r1,r2:integer;
begin
se:=['а','е','у','о'];
readln(s);
s:=s.Trim;
i:=1;
while i<length(s) do
if (s[i]=' ') and (s[i+1]=' ') then delete(s,i+1,1) else inc(i);
var ars:=s.Split;
for i:=1 to length(s) do
 begin
  if ((ordansi(lowcase(s[i]))>=65) and (ordansi(lowcase(s[i]))<=90)) or ((ordansi(lowcase(s[i]))>=97) and (ordansi(lowcase(s[i]))<=122)) or ((ordansi(lowcase(s[i]))>=128) and (ordansi(lowcase(s[i]))<=175)) or ((ordansi(lowcase(s[i]))>=224) and (ordansi(lowcase(s[i]))<=243)) then inc(r1);
  if lowcase(s[i]) in se then inc(r2);
 end;
writeln('Количество букв:',r1);
writeln('Количество слов:',ars.Length);
writeln('Количество гласных из множества:',r2);
end.

Пример ввода:
Просто текст
Пример вывода:
Количество букв:11
Количество слов:2
Количество гласных из множества:3
4,6(45 оценок)
Ответ:
sweetmur
sweetmur
20.05.2021
#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);
}
4,7(54 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ