0 / 0 / 0
Регистрация: 22.06.2015
Сообщений: 13
1

Задача про линию шариков (удаление со сдвигом 3х и более одинаковых подряд идущих)

11.10.2015, 00:31. Показов 1955. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется
непрерывная цепочка из трех и более шариков одного цвета, она удаляется из линии. Все шарики
при этом сдвигаются друг к другу, и ситуация может повториться.

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

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

Сначала вводится количество шариков в цепочке (не более 100) и цвета шариков (от 0 до 9, каждому цвету
соответствует свое целое число).

Выходные данные
Требуется вывести кол-во шариков, которое будет уничтожено.
Код
 Ввод                Вывод
5 1 3 3 3 2            3
Добавлено через 10 часов 32 минуты
Может кто помочь?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2015, 00:31
Ответы с готовыми решениями:

Задача про линию шариков (удаление со сдвигом 3х и более одинаковых подряд идущих)
В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется...

Удаление строк, в которых 3 или более подряд идущих одинаковых элементов
Задана матрица размером NxM. Удалить те строки, в которых встречается 3 или более подряд идущих...

Удаление подряд идущих одинаковых элементов массива
В целочисленном массиве удалить все подряд идущие одинаковые элементы.

Список: Удаление всех подряд идущих одинаковых элементов из списка
Помогите пожалуйста реализовать процедуру удаления всех подряд идущих одинаковых элементов из...

1
Модератор
Эксперт по электронике
8316 / 4215 / 1602
Регистрация: 01.02.2015
Сообщений: 13,121
Записей в блоге: 4
11.10.2015, 15:59 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
program Lines;
 
const
  NMax = 100;
type
  TBalls = record
    Color: integer;
    Count: integer;
  end;
  TLines = array[1..NMax] of TBalls;
 
var
  n, c, Count: integer;
  Balls: TLines;
  Len: integer;
  i: integer;
begin
  Count := 0;
  Len := 0;
  Read(n);
  for i := 1 to n do
  begin
    Read(c);
    if (Len > 0) and (Balls[Len].Color <> c) then
    begin
      if Balls[Len].Count >= 3 then
      begin
        Count := Count + Balls[Len].Count;
        Dec(Len);
      end;
    end;
    if (Len = 0) or (Balls[Len].Color <> c) then
    begin
      Inc(Len);
      Balls[Len].Color := c;
      Balls[Len].Count := 1;
    end
    else
      Inc(Balls[Len].Count);
  end;
  readln;
  if (Len > 0) and (Balls[Len].Count >= 3) then
  begin
    Count := Count + Balls[Len].Count;
    Dec(Len);
  end;
  writeln(Count);
end.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2015, 15:59
Помогаю со студенческими работами здесь

Обработка строк: Заменить большие буквы маленькими в словах, содержащих две и более подряд идущих одинаковых букв
Помогите пожалуйста решить( Обработка строк: Заменить большие буквы маленькими в словах,...

Задача на динамическое программирование(скорее всего) (сколькими способами в сумме получить N, без подряд идущих одинаковых чисел)
Дано число N&lt;106 и три числа A,B,C&lt;=N нужно вывести сколькими способами в сумме получить N, без...

Имеются ли в последовательности два идущих подряд нулевых числа или три подряд одинаковых числа
44. Даны целые числа k, k,...,k (m=20). Имеются ли в последовательности два идущих подряд нулевых...

Количество идущих подряд одинаковых символов
Нужно посчитать сколько подряд единиц идут в массиве, начиная с определенной позиции вправо,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru