рррррррх
19.09.2021 07:41

Сеня как-то красил окна в широком одноэтажном доме — со стороны этот дом выглядит как N стоящих друг за другом окон. Изнутри дом состоит из квартир: каждая квартира — это некоторый непрерывный отрезок окон, причём каждое окно принадлежит ровно одной квартире. У Сени была краска только двух цветов: цвета «a» и цвета «b». Сеня знал про каждое окно, к какой квартире оно относится, и покрасил окна так, чтобы у каждой квартиры все окна стали одинакового цвета, а цвета окон соседних квартир различались.
Когда Сеня закончил свою работу, вечером мимо этого дома проходил его друг Витя. Витя увидел, что в некоторых окнах горит свет, а в других окнах — не горит. Витя зарисовал, в каких окнах горит свет, и показал эту схему Сене. Теперь Витя с Сеней хотят понять: сколько в доме квартир, у которых свет горел во всех окнах?
Исходные данные
В первой строке вводится целое число N — количество окон в доме (1 ≤ N ≤ 100 000).
Во второй строке вводится последовательность букв «a» и «b» длины N — цвета окон. Смена одной буквы на другую обозначает конец одной квартиры и начало следующей.
В третьей строке вводится последовательность символов «.» (точка) и «#» (диез) длины N — схема Вити в том же порядке: точка обозначает, что свет в соответствующем окне не горит, диез — что горит.
Результат
Выведите единственное целое число — у какого количества квартир свет горит во всех окнах.
Пример
исходные данные результат

6
abbaab
.##.##

2

Система оценки и описание подзадач
Тесты в этой задаче разбиты на 6 групп. за группу начисляются при прохождении всех тестов этой и всех необходимых групп. Пример из условия не оценивается.
Problem illustration

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ismoilova97
02.03.2021 19:30
var
  y: System.uint64; //Большая цЫфра же и положительная
  x, i: byte; //Нет смысла большие числа брать слишком, переполнение будет

begin
  readln(x); //Принимаем число...
  y := 1;
  i := 1;
  repeat
    y *= i; //...и умножаем такое-то количество раз
    i += 1;
  until (i > x);
  if (y = 0) then //Выводим, предусмотрев переполнение
    writeln('Слишком большая цЫферка')
  else
    writeln(y);
end.

Int64 - это то же самое, что LongInt, а Uint64 (unsign long int) - длинное число без знака, при правильном использовании позволяет записывать в переменную числа, в 2 раза превышающие максимум Int64
0,0(0 оценок)
Ответ:
mkashkan
09.12.2022 16:46

Заданный отрезок делим на 10 частей с шагом 0,2 и находим значения функции в этих точках.

Выделяем промежутки, на которых значения функции имеют разные знаки.

№ a b fa fb x fx

1 -1 -0,8 10 3,28 -0,702381 0,784438776

2 -0,8 -0,6 3,28 -1,28 -0,656140 -0,218060942

3 -0,6 -0,4 -1,28 -3,68 -0,706667 0,8832

4 -0,4 -0,2 -3,68 -3,92 -3,466667 270,48

5 -0,2 0 -3,92 -2 0,208333 2,296875

6 0 0,2 -2 2,08 0,098039 -0,269896194

7 0,2 0,4 2,08 8,32 0,133333 0,48

8 0,4 0,6 8,32 16,72 0,201905 2,129240816

9 0,6 0,8 16,72 27,28 0,283333 4,4175

10 0,8 1 27,28 40 0,371069 7,283730865 .

Как видим, корни уравнения находятся на промежутках  -0,8 -0,6 и 0 0,2.

По заданию надо найти положительный корень.

Применяем метод хорд.

Δ = b - a  a fb b fa

0,2 0 2,08 0,2 -2

0,101960784 0,098039216 2,08 0,2 -0,269896

0,090250128 0,109749872 2,08 0,2 -0,028536

0,089028723 0,110971277 2,08 0,2 -0,002936

fb - fa x  погрешность х2-х1 абс.погр.  

4,08 0,098039216 - 0,111111111 точное значение

2,349896 0,109749872 0,0117 0,001361239  

2,108536 0,110971277 0,0012 0,000139834  

2,082936 0,111096767 0,0001 1,43442E-05.

С точностью 0,01 ответ 0,1097.  

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