Поделитесь своими знаниями, ответьте на вопрос:
A. Строковая ловушка ограничение по времени на тест2 секунды ограничение по памяти на тест256 мегабайт вводстандартный ввод выводстандартный вывод Дана строка длины n. В начальный момент времени вы находитесь в позиции 1 (позиции нумеруются с единицы), на каждом шаге выполняется переход в другую позицию в соответствии с следующими правилами: если в строке есть еще одна или более позиций, буквы в которых совпадают с буквой в текущей позиции, то вы переходите случайную из них, иначе — двигаетесь на одну позицию вправо. Можно ли выбраться из строки (под этим понимается, что вы в какой-то момент времени находитесь в позиции n после чего сдвигаетесь вправо) или же Вы попали в строковую ловушку, и вам придется блуждать по ней вечно? Входные данные В первой строке дано число n (1 ≤ n ≤ 105) — длина строки. Во второй строке дана строка s, строка состоит только из строчных букв латинского алфавита. Выходные данные Выведите «YES», если выбраться из строки возможно, и «NO» — в противоположном случае. На ПАСКАЛЕ
смотрите тут что дано.
26 лат букв и десятичные цифры т.е от 0 до 9 итого 10,мы все складываем получаем 36 различных символов,потом находим от этого числа кол-во информации по формуле i=log по основанию 2 от числа,в нашем случае от 36,результат всегда округляется к большему,т.е. 2^5 =32,не хватает а в 2^6=64,но так как округляем к большему,то берем 6 и у нас получаетс 6 бит кол-во информации,потом умножаем 6 на кол-во символов,в данном случае на 8 и получаем 48 бит,в условии сказано что мы должны узнать сколько байт необходимо для хранения 30 номеров,пожтому переводи биты в байты,т.е. 48/8=6 байт,почему именно на 8, потому что в 1 байте - 8 бит,
получив 6 байт умножаем на 30 номеров получаем в итоге 180 байт.
ответ: 180 байт