bassanova46
09.10.2021 02:42

Гоблины и шаманы Гоблины Мглистых гор очень любях ходить к своим шаманам. Так как гоблинов много, к шаманам часто образуются очень длинные очереди. А поскольку много гоблинов в одном месте быстро образуют шумную толку, которая мешает шаманам проводить сложные медицинские манипуляции, последние решили установить некоторые правила касательно порядка в очереди.

Обычные гоблины при посещении шаманов должны вставать в конец очереди. Привилегированные же гоблины, знающие особый пароль, встают ровно в ее середину, причем при нечетной длине очереди они встают сразу за центром.

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

Входные данные

В первой строке входных данный записано число N (1≤N≤105) — количество запросов к программе. Следующие N строк содержат описание запросов в формате:

"+ i" — гоблин с номером i (1≤i≤N) встает в конец очереди.
"* i" — привилегированный гоблин с номером i встает в середину очереди.
"-" — первый гоблин из очереди уходит к шаманам. Гарантируется, что на момент такого запроса очередь не пуста.
Выходные данные

Для каждого запроса типа "-" программа должна вывести номер гоблина, который должен зайти к шаманам.

Примеры
Ввод
7
+ 1
+ 2
-
+ 3
+ 4
-
-
Вывод
1
2
3
Решить на C++

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
hghfYES
19.08.2020 10:30
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016
begin
  var a:=MatrixRandom(7,7,0,9);
  var k:=0;
  for var i:=0 to 6 do begin
    for var j:=0 to 6 do begin
      Write(a[i,j]:3);
      if a[i,j] in [1..5] then Inc(k)
      end;
    Writeln
    end;
  Writeln('Кол-во элементов на [1,5]: ',k)
end.

Тестовое решение:
  2  1  7  3  3  2  7
  9  2  9  2  0  5  5
  4  2  6  9  4  6  0
  1  0  3  5  4  5  9
  6  3  6  0  2  0  8
  0  8  4  3  2  1  8
  6  0  4  4  5  4  0
Кол-во элементов на [1,5]: 27

Вариант "совсем для школы"

const
  n=7;
var
  a:array[1..n,1..n] of integer;
  i,j,k:integer;
begin
  Randomize;
  k:=0;
  for i:=1 to n do begin
    for j:=1 to n do begin
      a[i,j]:=Random(10);
      Write(a[i,j]:3);
      if a[i,j] in [1..5] then Inc(k)
      end;
    Writeln
    end;
  Writeln('Кол-во элементов на [1,5]: ',k)
end.
0,0(0 оценок)
Ответ:
qweasdzxcrfvtgbmn
10.01.2020 03:01
// PascalABC.NET 3.1, сборка 1200 от 13.03.2016

function gcd(a,b:integer):integer;
// Нахождение НОД
begin
  while b<>0 do
  begin
    a:=a mod b;
    var i:=b; b:=a; a:=i
  end;
  Result:=a
end;

procedure Shorter(var a,b:integer);
// "сокращатель" дроби
begin
  var k:=gcd(a,b);
  a:=a div k;
  b:=b div k
end;

begin
  var a,b:integer;
  Writeln('Введите числитель и знаменатель дроби: ');
  Read(a,b);
  Write(a,'/',b,'='); Shorter(a,b); Writeln(a,'/',b)
end.

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