0
0 комментариев

ЗАДАНИЕ

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

По данному расположению шариков определите, сколько шариков будет сейчас уничтожено.

ВХОДНЫЕ ДАННЫЕ

Программа получает на вход строку, в которой через пробел записаны цвета шариков в цепочке. Цвета обозначаются числами от 0 до 9.

ВЫХОДНЫЕ ДАННЫЕ

Программа должна вывести одно число — количество шариков, которое будет уничтожено.

ПРИМЕР

ввод    1 3 3 3 2
вывод   3
ввод    3 3 2 1 1 1 2 2 3 3
вывод   10
ввод    2 4 4 5 5 7
вывод   4

Вот мой код, проходит не все тесты. Подскажите, пожалуйста, как исправить, или тесты, на которых будет ошибка.

count=0
stack=[]
a=list(map(int,input().split()))
b=max(a) + 1
C = [0] * b
for x in a:
    C[x] += 1
for elem in C:
    if elem == 0:
        C.pop(elem)
for i in range(len(C)):
    if C[i] > 1:
        count += C[i]
print(count)


Добавить комментарий