М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ЯЯЯ03
ЯЯЯ03
26.03.2023 06:38 •  Информатика

Задача №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" - если список не принадлежит ни одному типу.

👇
Открыть все ответы
Ответ:
Anya2587
Anya2587
26.03.2023
Const
    handsfree = false;

var
    a: array[1..100] of integer;
    i, n: integer;

begin
    {ввод массива}
    if handsfree then
        n := random(20) + 5
    else begin
        write('n = ');
        readln(n);
    end;
    
    writeln('Данные массива:');
    for i := 1 to n do
    begin
        if handsfree then begin
            a[i] := random(100) - 50;
            write(a[i], ' ');
        end
        else readln(a[i]);
    end;
    writeln();
    
    {изменение элементов}
    writeln('Вывод прямой:');
    for i := 1 to n do
        write(a[i], ' ');
    writeln();
    
        {изменение элементов}
    writeln('Вывод обратный:');
    for i := n downto 1 do
        write(a[i], ' ');
end.
4,5(37 оценок)
Ответ:
yanaoneshko562
yanaoneshko562
26.03.2023
Const
    handsfree = false;

var
    a: array[1..100] of integer;
    i, n: integer;

begin
    {ввод массива}
    if handsfree then
        n := random(20) + 5
    else begin
        write('n = ');
        readln(n);
    end;
    
    writeln('Данные массива:');
    for i := 1 to n do
    begin
        if handsfree then begin
            a[i] := random(100) - 50;
            write(a[i], ' ');
        end
        else readln(a[i]);
    end;
    writeln();
    
    {изменение элементов}
    writeln('Вывод прямой:');
    for i := 1 to n do
        write(a[i], ' ');
    writeln();
    
        {изменение элементов}
    writeln('Вывод обратный:');
    for i := n downto 1 do
        write(a[i], ' ');
end.
4,4(69 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ