Nastya0012005
28.06.2020 09:20

Киньте в личку Задача №1698. Гомо или гетеро? умоляю пАмАгИтЕ Максимальное время работы на одном тесте:

3 секунды

Максимальный объем используемой памяти:

256 мегабайт

Определим две операции над списком целых чисел:

insert number – добавляет заданное число в конец списка

delete number – удаляет первое вхождение заданного числа из списка. Если список не содержит заданного числа, то ничего не меняется.

Например, результатом добавления числа 4 в список [1, 2, 1] будет список [1, 2, 1, 4]. Если мы удалим число 1 из этого списка, то получим список [2, 1, 4], но если мы попытаемся удалить число 3 из списка [1, 2, 1, 4], то список останется неизменным.

Список называется гомогенным, если он содержит хоты бы два одинаковых числа и гетерогенным, если содержит хотя бы два различных числа. Например, список [2, 2] является гомогенным, список [2, 1, 4] – гетерогенным, список [1, 2, 1, 4] – одновременно и тем и другим, а пустой список не является ни гомогенным, ни гетерогенным.

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

Формат входных данных

Первая строка содержит целое число n – количество операций (1 ≤ n ≤ 100 000).

Следующие n строк содержат описания операций. Каждая операция описывается словом "insert" или "delete" и числом k – аргументом операции (-109 ≤ k ≤ 109).

Формат выходных данных

Для каждой операции выведите строку, содержащую единственное слово, описывающее состояние списка после этой операции:

"both" - если список одновременно является и тем и другим

"hetero" - если список является гетерогенным

"homo" - если список является гомогенным

"neither" - если список не принадлежит ни одному типу.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Lala19962
08.02.2022 05:17

Program nalko;
uses crt;
const n = 10;
var
  a:array [1..n] of real;
  i,k:integer;
begin
  writeln('*** alphaues is thinking... ***');
  writeln('***          OK             ***');
  Randomize;
  {ввод чисел}
  for i:=1 to n do
    begin
      write('Введите ',i,'-е число '); readln (a[i])
    end;
  writeln('Корни и квадраты: ');
  for i:=1 to n do
    begin
      write('A[',i,']=',a[i]:7:2,'  корень');
      if a[i]<0
        then write(' не существует')
        else write('=',sqrt(a[i]):7:2);
      writeln('   квадрат=',a[i]*a[i]:7:2);
    end;
end.

0,0(0 оценок)
Ответ:
Kismos2006
25.01.2023 03:12

Program Linao;
uses crt;
const n = 20;
var
  x:array [1..n] of real;
  i,k,j,sum:integer;
  max, min,temp: real;
begin
  writeln('*** alphaues is thinking... ***');
  for i:=1 to n do
    begin
      write('*');
      for j:=1 to n*100000 do j:=j;
    end;
  writeln;
  k:=0;
  randomize;
  sum:=0;
  writeln('негативні елементи: ');
  for i:=1 to n do
    begin
      x[i]:=random(101)-50;
      if x[i]<0 then
        begin
          sum:=sum+i;
          writeln(i,'-й елемент, рівний ',x[i]);
          k:=1;
        end;
    end;
  if k=0 then
    writeln('Немає таких елементів!');
end.

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