savannah1
13.08.2022 07:32

Чемпионат по устному счету Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
Председатель жюри чемпионата по устному счету Иван Михайлович Минусов придумал новое
задание для участников чемпионата. Исходно на доске выписывается n целых чисел: a1, a2, . . . , an.
После этого участник должен выполнять команды двух типов:
1. Стереть i-е число с доски и записать вместо него число x. То есть, если на доске
были записаны числа a1, a2, . . . , an, то после выполнения команды числа будут равны:
a1, . . . , ai−1, x, ai+1, . . . , an.
2. Циклически сдвинуть последовательность чисел на k вправо. То есть, если на доске
были записаны числа a1, a2, . . . , an, то после выполнения команды числа будут равны:
an−k+1, an−k+2, . . . , an, a1, a2, . . . , an−k.
После выполнения каждой команды участник должен вычислить сумму всех чисел, записанных
на доске, и сообщить ее жюри. Чтобы подготовиться проверять ответы участников, членам жюри
необходимо самим вычислить требуемые суммы.
Формат входных данных
В первой строке записано целое число n — количество чисел, изначально записанных на доске
(2 6 n 6 105
).
Во второй строке через пробел записаны n целых чисел: a1, a2, . . . , an — числа, изначально выписанные на доске — (−109 6 ai 6 109
).
В третьей строке записано целое число q — количество команд, которые необходимо выполнить
(1 6 q 6 105
).
В каждой из следующих q строк записана очередная команда в следующем формате:
• 1 i x — это означает, что что участник должен заменить i-е число последовательности на
число x (1 6 i 6 n; −109 6 x 6 109
).
• 2 k — это означает, что участник должен циклически сдвинуть последовательность чисел на
k вправо (1 6 k < n).
Формат выходных данных
В качестве ответа выведите q строк, в каждой из которых записано одно целое число.
В i-й строке должна быть записана сумма чисел на доске после выполнения первых i команд.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
polina2006200
08.11.2021 04:43

PascalABC.NET

begin

 var a := ArrGen(10, i -> i in [0, 2, 6] ? 2 * (i + 1) + 10 :

     (i - 7) * 3);

 Writeln('массив');

 var m := a.Println.Where(p -> p.IsEven).Average;

 Write('sr=', m)

end.

begin

 var a := ArrGen(10, i -> (i + 1) mod 3 = 0 ? -i : Sqr(i + 2));

 Writeln('массив');

 var s := a.Println.Sum;

 Writeln('sr=', s);

 a.Transform(p -> p < 0 ? s : p);

 Writeln('новый массив');

 a.Print

end.

begin

 var a := ArrGen(15, i -> i < 7 ? i * (i + 6.1) + 5.1 : i - 4.7);

 Writeln('массив');

 foreach var k in a do

   Write(k:7:2);

 Writeln;

 var p := 1.0;

 for var i := 2 to 4 do

   p *= a[i];

 Write('p= ', p:0:3)

end.

Индексы в массивах PascalABC.NET идут не от единицы, а от нуля, как во всех современнных языках программирования. Поэтому исходные формулы пришлось немного преобразовать.

Примеры вывода не показаны, поскольку они точно совпадают с заданными.

0,0(0 оценок)
Ответ:
kkhristinka1
08.11.2021 04:43

1. открой поисковик

2. вбей данные из "как сгенерировать идеальный бесконечный лабиринт в с++"

3.посмотри видео и всё поймёшь

желаю удачи!!

Объяснение:

Предисловие

На написание статьи меня сподвигло практически полное отсутствие материалов на русском языке про алгоритмы генерации лабиринтов. На Хабре, из того, что вообще есть по теме, можно отметить две статьи: раз и два. Ценность и пользу из которых несет лишь вторая. В первой – просто перевод формального алгоритма и небольшое его пояснение. Что, конечно, неплохо, но очень скудно и не вызывает желания изучать тему дальше.

Если моя статья Вам понравится, я продолжу писать о различных алгоритмах. Мы рассмотрим два самых примитивных и простых случая – генерация двоичного дерева и Сайдвиндер, который, по своей сути, просто чуть измененная версия двоичного дерева с одним заметным плюсом. ОСТОРОЖНО ТРАФИК.

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

Серьезно. Прислушайтесь к совету. Вы, верно, потратите больше времени, но оно стоит стоит. У меня, например, из-за пары ошибок появился очень забавный генератор «инопланетных» текстов, который можно использовать в различных Sci-Fi играх для создания текста. Надеюсь, Вы изучаете тему для себя и никуда не спешите.

P.S.:

Я буду использовать термин «смещение», предполагая английский bias. Т.е. пристрастие алгоритма к направленности в какую-либо сторону. Например, правое смещение – алгоритм генерирует лабиринты с длинными правыми проходами.

Раскраска лабиринтов происходит относительно расстояния от крайнего левого угла поля до некоторой клетки. Чем дал�ше от начальной координаты – тем темнее будет цвет.

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

Про Lua

Алгоритм двоичного дерева..........................................................................................

Объяснение:


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