Сеня как-то красил окна в широком одноэтажном доме — со стороны этот дом выглядит как N стоящих друг за другом окон. Изнутри дом состоит из квартир: каждая квартира — это некоторый непрерывный отрезок окон, причём каждое окно принадлежит ровно одной квартире. У Сени была краска только двух цветов: цвета «a» и цвета «b». Сеня знал про каждое окно, к какой квартире оно относится, и покрасил окна так, чтобы у каждой квартиры все окна стали одинакового цвета, а цвета окон соседних квартир различались.
Когда Сеня закончил свою работу, вечером мимо этого дома проходил его друг Витя. Витя увидел, что в некоторых окнах горит свет, а в других окнах — не горит. Витя зарисовал, в каких окнах горит свет, и показал эту схему Сене. Теперь Витя с Сеней хотят понять: сколько в доме квартир, у которых свет горел во всех окнах?
Исходные данные
В первой строке вводится целое число N — количество окон в доме (1 ≤ N ≤ 100 000).
Во второй строке вводится последовательность букв «a» и «b» длины N — цвета окон. Смена одной буквы на другую обозначает конец одной квартиры и начало следующей.
В третьей строке вводится последовательность символов «.» (точка) и «#» (диез) длины N — схема Вити в том же порядке: точка обозначает, что свет в соответствующем окне не горит, диез — что горит.
Результат
Выведите единственное целое число — у какого количества квартир свет горит во всех окнах.
Пример
исходные данные результат
6
abbaab
.##.##
2
Система оценки и описание подзадач
Тесты в этой задаче разбиты на 6 групп. за группу начисляются при прохождении всех тестов этой и всех необходимых групп. Пример из условия не оценивается.
Problem illustration
здесь используется две формулы. I=k*i, где I-информационный объем сообщения, к-количество символов, i-вес одного символа. и вторая формула N=2^i, N-мощность алфавита, т.е. количество знаков (символов) в алфавите, скольки символьный алфавит. i (вес одного символа) измеряется в бит, поэтому нужно переводить I (инф. объем) в бит
в номере 3. количество символов равно произведению строк на количество симовлов в строке и на количество страниц.k= 38*70*5. Вес одного символа 8 бит, т. е 1 байт. I=k*i= 106400 бит=13300 байт
номер 1. Дано:
I= 3 Кбайта
K= 3072 символа
Найти: N - ?
1. I= 3 Кбайта * 1024 *8 = 24576 бит
2. i = I/K
i = 24576/3072 = 8 бит
3. N = 2^i (в степени)
N = 2^8 = 256 символов
ответ: N = 256 символов
в последнем. посчитать количество символов (и пробелы и точку, все) и умножить на вес одного символа и перевести в байт, хотя можно 8бит=1 байт, тогда k*1 байт и сразу ответ получишь
Программа сработает некорректно если слова будут разделены несколькими пробелами или строка будет заканчиваться пробелом
const c = ' ';
var
s : string;
k,p : integer;
begin
writeln ('Введите строку');
readln (s);
k := -1;
p := 1;
if (s <> '') and (s <> ' ') then
begin
while p <> 0 do
begin
k := k +1;
p := PosEx (c,s,p+1);
end;
writeln (k+1,' word')
end
else
writeln ('error string');
end.