Есть ответ 👍

Дано натуральное число, в котором все цифры различны. Определить:

а) порядковый номер его максимальной цифры, считая номера:

- от конца числа;

- от начала числа;

б) порядковый номер его минимальной цифры, считая номера:

- от конца числа;

- от начала числа.

Примечание. Во всех случаях использовать только один оператор цикла.

275
446
Посмотреть ответы 1

Ответы на вопрос:


// Реализация алгоритма Дейкстры (см. Вики)

// При вводе

// 6 2 3

// 255 3 7 255 255 2

// 3 255 255 255 255 255

// 7 255 255 3 1 255

// 255 255 3 255 1 2

// 255 255 1 1 255 255

// 2 255 255 2 255 255

// Выдает: 9
// Это и есть кратчайший путь

// Pascal ABC.NET

var

 gr: Array of Array of Word;

 best: Array of Word;

 proceed: Array of Boolean;

 n, s, f, last: Word;

 fIn, fOut: text;

begin

 //Init

 Assign(fIn, 'INPUT.TXT');

 Assign(fOut, 'OUTPUT.TXT');

 Reset(fIn);

 Rewrite(fOut);

 Read(fIn, n, s, f);

 Dec(s);

 Dec(f);

 SetLength(gr, n);

 for var i := 0 to n-1 do

   SetLength(gr[i], n);

 best := ArrFill(n, Word.MaxValue);

 SetLength(proceed, n);

 //Input Gr

 for var i := 0 to n-1 do

   for var j := 0 to n-1 do begin

     var buffer: Integer;

     Read(fIn, buffer);

     if buffer < 0 then

       buffer := Integer.MaxValue;

     gr[i, j] := Word(buffer);

   end;

 //Init S-node

 best[s] := 0;

 proceed[s] := true;

 last := s;

 //Algorithm

 loop n-1 do begin

   for var i := 0 to n-1 do

     if not proceed[i] then

       best[i] := Min(best[i], best[last] + gr[last][i]);

   var minim := Word.MaxValue;

   for var i := 0 to n-1 do

     if (not proceed[i]) and (best[i] < minim) then begin

       minim := best[i];

       last := i;

     end;

   proceed[last] := true;

   //PrintLn(best);

   //PrintLn(last);

 end;

 //Output

 if best[f] >= Word.MaxValue then

   WriteLn(fOut, -1)

 else

   WriteLn(fOut, best[f]);

 Close(fIn);

 Close(fOut);

end.

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS