B. Чистка данныхОграничение медли: 1.0 секундыОграничение памяти: 64 МБПрежде чем

B. Очистка данных
Ограничение медли: 1.0 секунды
Ограничение памяти: 64 МБ
До этого чем применить к данным методы машинного обучения, проводится процесс чистки данных. Необходимость чистки связана с тем, что в данных могут быть аномальные элементы: дубли, оплошности ввода и выбросы. Если чистка данных не будет выполнена, то методы анализа данных могут дать неправильный результат!
Осмотрим умственную систему предвещания погоды. Такая система непрерывно получает данные о текущей температуре воздуха с огромного количества метеостанций. Каждая метеостанция передает поочередно данные о температуре в виде пары целых чисел. 1-ое число это время, которое измеряется количеством секунд, прошедших с начала суток. 2-ое число это температура в градусах Цельсия.
Очистка данных делается в три этапа. Поначалу удаляются дубли когда информация об одном и том же медли измерения и той же температуре воздуха повторилась несколько раз попорядку (первый элемент в таковой последовательности схожих данных дублем не считается). После удаления дублей из последовательности удаляются оплошности ввода времени - когда время в новой паре не превосходит время в предыдущей паре или превосходит количество секунд в сутках. На третьем этапе из последовательности удаляются выбросы пары с аномальным значением температуры, когда измеренная температура по модулю больше 40 градусов либо отличается от предыдущего значения более чем на 10 градусов. Для вас необходимо написать программу, которая будет определять в начальной последовательности данных количество устраняемых дублей, выбросов и ошибок. Можете считать, что самая 1-ая пара в последовательности не относится к аномальным.
Начальные данные
В первой строке входных данных записано целое число n количество измерений (1 n 103). В следующих n строчках записаны целые числа t и T, разбитые пробелом время измерения и значение температуры воздуха. Все числа по модулю не превосходят 109.
Итог
Выведите три целых числа, разбитых пробелами количество дублей, ошибок ввода медли и выбросов в последовательности исходных данных.
Пример
начальные данные итог

6
10 5
8 5
8 5
8 5
12 25
13 10



2 1 1

Замечания
8 5 дублируется трижды. После удаления 2-ух копий остается одна пара 8 5, которая является ошибкой ввода (т.к. время 8 меньше 10 из предыдущей пары). После ее удаления остается последовательность из 3-х пар 10 5, 12 25, 13 10, в которой 12 25 выброс (t = 25 более чем на 10 превосходит 5). После удаления выброса остается очищенная последовательность 10 5, 13 10
В этой задачке есть тесты, в которых находятся только дубли (суммарно 20 баллов), оплошности ввода (также 20 баллов) и выбросы (еще 20 баллов). Оставшиеся испытания включают различные типы не нормальных частей (40 баллов).

Задать свой вопрос
1 ответ

PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018

Внимание! Если программа не работает, обновите версию!

begin

 var n := ReadInteger;

 var L := new Listlt;(integer, integer)gt;;

 loop n do

 begin

   L.Add(ReadInteger2)

 end;

 var k := L.Count;

 L := L.Distinct.ToList; // этап 1

 var k1 := L.Count;

 Print(k - k1);

 (k, k1) := (k1, 0); // этап 2

 var St := new Stacklt;integergt;;

 var m := L.First[0]; // время

 for var i := 1 to k - 1 do

   if L[i][0] lt;= m then

   begin

     St.Push(i);

     Inc(k1)

   end

   else m := L[i][0];

 for var i := 1 to k1 do

   L.RemoveAt(St.Pop);

 Print(k1);

 (k, k1) := (L.Count, 0); // шаг 3

 m := L.First[1]; // температура

 for var i := 1 to k - 1 do

   if Абс(L[i][1] - m) gt; 10 then

   begin

     St.Push(i);

     Inc(k1)

   end

   else m := L[i][1];

 for var i := 1 to k1 do

   L.RemoveAt(St.Pop);

 Println(k1);

end.

Пример

6

10 5

8 5

8 5

8 5

12 25

13 10

2 1 1

, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
задание экономиоти Рассмотри ситуацию: человек живёт на Крайнем Се-вере. С помощью каких

Экономика.

Человек живет на Крайнем Севере. С помощью каких благ удовлетворяются потребности

Экономика.

там лежат три яйца.у дома рос клен.Это гнездо сойки.на клёне гнездо

Русский язык.

Тыныштық күйіндегі карусель 35 с-та 3,0 рад/с бұрыштық жылдамдықпен үдей қозғалады.

Разные вопросы.

Сочинение на тему "Русский язык не сможет умереть!"

Математика.

Приветствую! Меня зовут Станислав, я представляю компанию under.site. Хотел бы предложить интересное решение

Разные вопросы.

Масса трёх одинаковых пакетов чая 180г чему равна масса

Математика.

Газообразный аммиак объёмом 2.24 л (н.у.) был полностью поглощён 14.68 мл

Химия.

Упражнение 2 Выпишите глаголы и вставьте пропущенные буквы

Русский язык.

Радиус окружности, описанной около равностороннего треугольника, равен 6. Найдите сторону треугольника

Геометрия.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт