Посчитайте, какое минимальное количество камней нужно убрать со стола - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста решить: На столе в ряд выложены n камней, каждый из которых может быть красного, зеленого или синего цвета. Посчитайте, какое минимальное количество камней нужно убрать со стола, чтобы любые два соседних камня имели разные цвета. Камни в ряду считаются соседними, если между ними нет других камней.

Входные данные

В первой строке задано целое число n (1 ≤ n ≤ 50) — количество камней на столе. В следующей строке задана строка s, обозначающая цвета камней. Будем считать, что камни в ряду пронумерованы целыми числами от 1 до n слева направо. Тогда i-ый символ s равен «R», если i-ый камень красного цвета, «G» — если он зеленого цвета, и «B» — если он синего цвета.

Выходные данные

Выведите единственное целое число — ответ на задачу.

Примеры тестов

входные данные

3 RRG

выходные данные

1

входные данные

5 RRRRR

выходные данные

4

входные данные

4 BRBG

выходные данные

0

Решение задачи: «Посчитайте, какое минимальное количество камней нужно убрать со стола»

textual
Листинг программы
  1. var  s:string;
  2.      i,n,t:integer;
  3. begin
  4.      Writeln('Vhodnie dannie:');
  5.       Readln(n);
  6.        Readln(s);
  7.         Writeln;
  8.          Writeln('Vihodnie dannie:');
  9.      t:=0;
  10.       for i:=2 to Length(s) do
  11.        if s[i]=s[i-1] then Inc(t);
  12.      Writeln(t);
  13.      Readln;
  14. end.

Объяснение кода листинга программы

  1. Объявлены три переменные: s (строка), i (целое число), n (целое число).
  2. Выводится сообщение Входные данные:.
  3. Пользователь вводит строку и число, нажав Enter после каждого ввода.
  4. Выводится сообщение Выходные данные:.
  5. Переменная t инициализируется значением 0.
  6. Происходит цикл от 2 до длины строки (используется Length(s)).
  7. Если текущий символ равен предыдущему, то к переменной t прибавляется 1.
  8. После окончания цикла выводится значение переменной t.
  9. Программа ожидает ввода от пользователя, чтобы закрыться.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы