ksusha6060606
12.03.2023 10:07

35 , решение в паскале
вновь открытое казино предложило оригинальную игру.

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

рассмотрим пример. пусть на столе выставлен ряд фишек rrrgggbbb, и крупье объявил последовательности rg и gb. игрок, например, может забрать фишки rg, лежащие на третьем и четвёртом местах слева. после этого крупье сдвинет фишки, и на столе получится ряд rrggbbb. ещё дважды забрав фишки rg, игрок добьётся того, что на столе останутся фишки bbbи игра закончится, так как игроку больше нечего забрать со стола. игрок мог бы действовать и по-другому — на втором и третьем ходах забрать не последовательности rg, а последовательности gb. тогда на столе остались бы фишки rrb. аналогично, игрок мог бы добиться того, чтобы в конце остались ряды rrr или rbb.

после окончания игры полученные фишки игрок меняет на деньги. цена фишки зависит от её цвета.

требуется написать программу, определяющую максимальную сумму, которую сможет получить игрок.

входные данные
в первой строке входных данных содержится число k (1 ≤ k ≤ 26) — количество цветов фишек. каждая из следующих k строк начинается со строчной латинской буквы, обозначающей цвет. далее в той же строке через пробел следует целое число xi (1 ≤ xi ≤ 150, i = 1..k) — цена фишки соответствующего цвета.

в (k+2)-ой строке описан ряд фишек, лежащих на столе в начале игры. ряд задаетсяl строчными латинскими буквами (1 ≤ l ≤ 150), которые обозначают цвета фишек ряда.

в следующей строке содержится число n(1 ≤ n ≤ 150) — количество последовательностей, которые были объявлены крупье. в следующих n строках записаны эти последовательности. гарантируется, что сумма длин этих n строк не превосходит 150 символов, и все они непустые.

выходные данные
выведите единственное целое число — максимальную сумму денег, которую может получить игрок.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
AleksSuperMan
10.08.2022 01:57

Объяснение:

#include <iostream>

using namespace std;

long double fact(int N)

{

   if(N < 0) // если пользователь ввел отрицательное число

       return 0; // возвращаем ноль

   if (N == 0) // если пользователь ввел ноль,

       return 1; // возвращаем факториал от нуля - не удивляетесь, но это 1 =)

   else // Во всех остальных случаях

       return N * fact(N - 1); // делаем рекурсию.

}

int main()

{

   int N;

   setlocale(0,""); // Включаем кириллицу

   cout << "Введите число для вычисления факториала: ";

   cin >> N;

   cout << "Факториал для числа " << N << " = " << fact(N) << endl << endl; // fact(N) - функция для вычисления факториала.

   return 0;

}

0,0(0 оценок)
Ответ:
Тимыч08
29.12.2021 04:36
Для облегчения выкладок разделим эти 64 множителя на шесть групп по 10 двоек в каждой и одну последнюю группу из четырех двоек. Произведение 10 двоек, как легко убедиться, равно 1024, а четырех двоек— 16. Значит, искомый результат равен 1024 X 1024 X 1024 X 1024 X 1024 X 1024 X 16.Перемножив 1024 X 1024, получим 1 048 576.Теперь остается найти 1048 576X1048 576X1048 576X16, отнять от результата единицу — и нам станет известно искомое число зерен: 18 446 744 073 709 551615. Известно, что кубический метр пшеницы вмещает около 15 миллионов зерен. Значит, награда шахматного изобретателя должна была бы занять объем примерно в 12 000 000 000 000 куб. м. Кстати, это геометрическая прогрессия и ее нужно было кидать в раздел "математика".
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота