Elbek11ee
13.06.2020 21:04

Коле подарили билет в парк аттракционов, в который входит посещение всех аттракционов по одному разу. Коля хочет прокатиться на них всех, но не хочет тратить на это больше времени, чем необходимо. На схеме парка отмечены все дорожки, которые соединяют между собой аттракционы. Также указано число минут, за какое этот путь можно пройти. Для примера: путь от входа в парк (
S
S) до аттракциона (
A
A) составляет
3
3 минуты, путь от аттракциона (
C
C) до аттракциона (
F
F) составляет
5
5 минут и т.д.

Коле составить маршрут так, чтобы он начинался от точки входа (
S
S), посетил все аттракционы только по одному разу и к выходу (
K
K) за минимально возможное время.

В ответе в первой строке укажите число минут, соответствующее самому короткому пути. Во второй строке без пробелов укажите этот путь, состоящий из посещенных точек.

Например:
55
SABCDEFGK

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
zhgulevatanya
21.09.2020 17:48
Const N = 5; M = 6;
var 
  a: array[1..N, 1..M] of integer;
  c: array[1..N] of integer;
  i, j, mx, mn: integer;
  
begin
  randomize;
  writeln('Исходная матрица');
  mn := 1;
  for i := 1 to N do begin
    mx := -(MaxInt-1);
    for j := 1 to M do begin
      // Случайное число от -500 до 500
      a[i, j] := Random(1001) - 500;
      // выводим
      write(a[i, j]:5, ' ');
      // Ищем макс в строке
      if mx < a[i,j] then mx := a[i,j];
    end;
    
    c[i] := mx; // макс в строке
    
    // Поиск минимума
    if c[mn] > c[i] then mn := i;
    writeln;
  end;
  
  writeln ('Вектор с');
  for i := 1 to N do 
    write(c[i]:5, ' ');
    
  writeln(#13, #10, 'минимальный элемент:');
  writeln('c[', mn, '] = ', c[mn]);
end.
0,0(0 оценок)
Ответ:
kurilkodanil
21.09.2020 17:48
#include <iostream>
#include <vector>

int main()
{
    int B[5][6];
    std::vector<int> Vec;
    for(int i = 0; i < 5; ++i)
        for(int j = 0; j < 6; ++j)
            std::cin >> B[i][j];
    for(int i = 0; i < 5; ++i)
    {
        int max = B[i][0];
        for(int j = 1; j < 6; ++j)
            if (max < B[i][j])
                max = B[i][j];
        Vec.push_back(max);
    }
    int min = Vec[0];
    int number = 0;
    for(int i = 1; i < 5; ++i) 
        if (min > Vec[i])
        {
            min = Vec[i];
            number = i;
        }
    std::cout << number;
}
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота