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

СОСТАВИТЬ ПРОГРАММУ НА ПИТОНЕ (ТЕМА СЛОВАРИ) 20) Некоторый поезд в пути следования останавливается на N станциях (станция номер 1 — начальная, а станция номер N — конечная). Дан список пассажиров поезда, для каждого из которых известно, на какой станции он садится, а на какой — выходит. Напишите эффективную по времени работы и используемой памяти программу, которая по этим данным определяет, на каких перегонах (то есть между какими соседними станциями) в поезде было наименьшее число пассажиров. На вход программе в первой сроке подается количество станций N и количество пассажиров P. В каждой из последующих P строк находится информация о пассажирах в следующем формате:

где – строка, состоящая не более, чем из 20 символов без пробелов, – строка, состоящая не более, чем из 20 символов без пробелов, и — числа от 1 до N, при этом номер станции посадки меньше номера станции выхода.
Пример входных данных:
6 3
Иванов Сергей 2 4
Сергеев Петр 1 3
Петров Кирилл 3 6
Программа должна вывести список перегонов, на которых в поезде было наименьшее число пассажиров. Каждый перегон выводится в виде двух последовательных номеров станций, разделенных знаком “-“. Для примера выше результат работы программы должен быть таким (на данных перегонах в поезде находилось наименьшее число пассажиров):
1-2
4-5
5-6
При выполнении задания следует учитывать, что значение N не превосходит 10, а значение P может быть большим (до 1000).

Показать ответ
Ответ:
d2e0n0i5s
d2e0n0i5s
27.12.2020 18:16
Вот решение на C#
using System;
using System.Collections.Generic;
using System.Linq;

namespace Help


    class MainClass
    {
        public static void Main(string[] args)
        {
            int day = 1;
            double mass = 50;
            double changing = 1.2;
            
            while(mass < 120)
            {
                mass *= changing;
                day++;                
            }
            
            Console.WriteLine($"В {day} день");
        }
    }
}
0,0(0 оценок)
Ответ:
dirysasha
dirysasha
13.08.2020 20:41
// PascalABC.NET 
// Версия 3.3.5 сборка 1662 (29.04.2018)

begin
  var b := ReadlnString('Введите строку -').ToLower+' '; 
  var (z,r) := (',!?.:;'.ToCharArray,'!.?;'.ToCharArray);
  var tt:=true; Range(1,b.Length+b.ToCharArray.Where(t->t in z).Count).ForEach(t->if (b[t] in z) and tt then begin Insert(' ', b, t); tt:=false end else tt:=true);
  var a := b.ToWords;
  var x := ReadlnChar('Буква -');
  var (w, i) := a.Select((w, i)-> (w, i)).Where(t -> t[0].ToString.First.ToLower = x).Reverse.UnZipTuple; 
  i := i.Reverse;
  foreach var t in w.Zip(i, (p, q)-> (p, q)) do a[t[1]] := t[0];
  b := string.Join(' ', a);
  tt:=true; Range(1,b.Length-b.ToCharArray.Where(t->t in z).Count+1).ForEach(t->if (b[t] in z) and tt then begin Delete(b, t - 1, 1); tt:=false end else tt:=true); 
  b.Println; Println('Количество предложений:',b.ToWords(r).Count);
end.

Пример в приложении.

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