В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Пакет11
Пакет11
14.11.2022 23:10 •  Информатика

написать задачу на С++
К тупику со стороны пути 1 (см. рисунок) подъехал поезд. Разрешается отцепить от поезда один или сразу несколько первых вагонов и завезти их в тупик (при желании, можно даже завезти в тупик сразу весь поезд). После этого часть из этих вагонов вывезти в сторону пути 2. После этого можно завезти в тупик еще несколько вагонов и снова часть оказавшихся вагонов вывезти в сторону пути 2. И так далее (так, что каждый вагон может лишь один раз заехать с пути 1 в тупик, а затем один раз выехать из тупика на путь 2). Заезжать в тупик с пути 2 или выезжать из тупика на путь 1 запрещается. Нельзя с пути 1 попасть на путь 2, не заезжая в тупик.

Известно, в каком порядке изначально идут вагоны поезда. Требуется с указанных операций сделать так, чтобы вагоны поезда шли по порядку (сначала первый, потом второй и т.д., считая от головы поезда, едущего по пути 2 в сторону от тупика).

Входные данные
Вводится число N — количество вагонов в поезде (1≤N≤2000). Дальше идут номера вагонов в порядке от головы поезда, едущего по пути 1 в сторону тупика. Вагоны пронумерованы натуральными числами от 1 до N, каждое из которых встречается ровно один раз.

Выходные данные
Если сделать так, чтобы вагоны шли в порядке от 1 до N, считая от головы поезда, когда поезд поедет по пути 2 из тупика, можно, выведите действия, которые нужно проделать с поездом. Каждое действие описывается двумя числами: типом и количеством вагонов:

если нужно завезти с пути 1 в тупик K вагонов, должно быть выведено сначала число 1, а затем — число K (K≥1),
если нужно вывезти из тупика на путь 2 K вагонов, должно быть выведено сначала число 2, а затем — число K (K≥1).
Если возможно несколько последовательностей действий, приводящих к нужному результату, выведите любую из них.

Если выстроить вагоны по порядку невозможно, выведите одно число 0.

Выберу лучший ответ! заранее

Показать ответ
Ответ:
ivanapushkin10
ivanapushkin10
09.07.2021 01:11
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
procedure MatPrint(a:array[,] of integer);
begin
  for var i:=0 to Length(a,0)-1 do begin
    for var j:=0 to Length(a,1)-1 do Write(a[i,j]:4);
    Writeln
    end
end;

procedure MatReplaceOdd(a:array[,] of integer; value:integer);
begin
  for var i:=0 to Length(a,0)-1 do
    for var j:=0 to Length(a,1)-1 do
      if a[i,j].IsOdd then a[i,j]:=value
end;

begin
  var n,m:integer;
  Write('Задайте число строк и столбцов матрицы: ');
  Read(n,m);
  var a:=MatrixRandom(n,m,-99,99);
  Writeln('Исходный массив');
  MatPrint(a);
  MatReplaceOdd(a,26);
  Writeln('Результирующий массив');
  MatPrint(a)
end.

Тестовое решение
Задайте число строк и столбцов матрицы: 5 7
Исходный массив
 -14  86  52 -85 -52 -79  78
  20 -80  68  89 -45 -45 -36
 -41 -60  96  43  16  56 -58
 -39  81   1  26 -15 -98  89
  57 -51  79 -28 -24 -63 -74
Результирующий массив
 -14  86  52  26 -52  26  78
  20 -80  68  26  26  26 -36
  26 -60  96  26  16  56 -58
  26  26  26  26  26 -98  26
  26  26  26 -28 -24  26 -74
0,0(0 оценок)
Ответ:
1234567890854
1234567890854
14.05.2023 01:54
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016
begin
  var a:=ArrRandomReal(28,0.001,2); a.Println;
  Writeln(NewLine,'P=',a.Where(x->x<1.0).Aggregate(1.0,(p,x)->p*x))
end.

Тестовое решение
0.0398313784756844 0.521430412644721 1.21896472712139 1.94948843003553 1.15333909315725 0.788220413078657 0.284177359403659 1.78978303515016 0.678028235740042 1.55275635141682 0.189534365820482 0.741079475998916 1.8561824476473 1.56863753180655 1.46180190814184 0.424840159483645 1.72583213937042 1.9121896329998 1.74689281148598 1.49191368740467 0.900698237893031 0.867495573381193 1.51968024434926 1.28361295387922 0.144896066409953 0.40525055964489 0.897010715250862 1.71948831971571

P=7.74656862552087E-06
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота