annapupnova
07.07.2022 22:02

Имеется N коров, бегающих вдоль бесконечно-длинной прямой трассы. (1 <= N <= 100,000). Каждая корова начинает с уникальной позиции и некоторые коровы бегут с различной скоростью. Трасса имеет только одну дорожку и корова не может перепрыгнуть другую. Поэтому, когда более быстрая корова настигает более медленную, она замедляет свою скорость и становится частью некоторой бегущей группы коров. Фермер Джон хочет, чтобы ВЫ посчитали, сколько таких групп образуется.

Входные данные
Первая строк ввода содержит целое число N. Каждая из последующих строк содержит начальную позицию и скорость одной коровы. Позиция - это неотрицательное целое число, а скорость - положительное целое число, оба числа не более 1,000,000,000. Все коровы начинают в различных позициях, которые задаются в порядке возрастания на вводе.

Выходные данные
Одно целое число, указывающее, сколько групп останется.

Пример
входные данныеСкопировать
5
0 1
1 2
2 3
3 2
6 1
выходные данныеСкопировать
2

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Koroleva12112002
15.11.2021 04:52
1 задача. Если есть ошибка или можно подругому сделать напишите. 
  class Program   
 {        
class Skier        
{            
public const float procent = 0.12f;           
public float distance = 7f;            
public float multiplication;            
public float alldistance;            
public float totalmileage = 7f;

public float Mileage(int day)          
  {                if (day == 1)                   
 {                        return alldistance = distance ;                    } 
  else if (day >= 2 )               
 {                    for (int i = 2; i <= day; i++)                 
   {                        
multiplication = distance * procent;                       
 alldistance = distance + multiplication;                      
  distance = alldistance;                   
 }    
    }
                return alldistance;                        
   }
 public float TotalPath(int days)            
 {                if (days == 1)               
 {                    return totalmileage = distance;                }
                else if (days >= 2)                
{                    for (int i = 2; i <= days; i++)                   
 {                        
multiplication = distance * procent;                        
alldistance = distance + multiplication;                     
   distance = alldistance;                        
totalmileage += alldistance;               
 }               
 }                
return totalmileage;          
  }
  }
 static void Main(string[] args)      
  {            
Skier skier = new Skier();
Console.WriteLine("Пробег лыжника за n дней тренировок, введите n: ");            skier.Mileage(Convert.ToInt32(Console.ReadLine()));            Console.WriteLine("Пробег: "+ skier.alldistance);
 Console.WriteLine("Суммарный путь за m дней, введите m: ");            skier.TotalPath(Convert.ToInt32(Console.ReadLine()));            Console.WriteLine("Суммарный путь: " + skier.totalmileage);
     Console.ReadLine();      
  }    }

Задача 2. Решил ее так как я сам понял..

class Students    {      
 List<int> numbers = new List<int>();       
public int countstudents;       
public int maxCount;        
public int minCount;        
public void clas(int n)       
 {          
  for (int i = 1; i <= n; i++)           
 {                   
Console.WriteLine("Введите кол-во учеников в классе: " );                 
countstudents = Convert.ToInt32(Console.ReadLine());                   
numbers.Add(countstudents);
}
maxCount = numbers.Max();               
minCount = numbers.Min();                
Console.WriteLine("Численность превышает на: " + (maxCount-minCount) + " ученика/ов");                  
}
 static void Main(string[] args)        {
 Students students = new Students();            
Console.WriteLine("Введите кол-во классов: ");            students.clas(Convert.ToInt32(Console.ReadLine()));           
 Console.ReadLine();
}
0,0(0 оценок)
Ответ:
superrobbot2000
25.03.2020 02:08
Sub maxZn()'заполнение массива  Dim mas(20)  S = ""  Randomize  For i = 1 To 20    mas(i) = Round(Rnd(100) * 100)    S = S + Str(mas(i)) + ","  Next i'поиск максимального числа и количества его повторений   qty = 1   max = mas(1) 'предполагаем, что максимальное число в первом элементе массива    For i = 2 To 20    If mas(i) = max Then      qty = qty + 1    End If    If mas(i) > max Then      max = mas(i)      qty = 1    End If  Next i     MsgBox "последовательность чисел " + S  MsgBox "максимальное число " + Str(max) + "число повторений " + Str(qty)  End Sub
Sub test()  Call maxZnEnd Sub
Дана последовательность чисел. выяснить, сколько раз в ней встречается наибольшее число.(basic)
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота