Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
pampam1
0 / 0 / 0
Регистрация: 05.04.2016
Сообщений: 2
1

Посчитать шарики, которые будут уничтожены

25.04.2016, 03:37. Просмотров 877. Ответов 1
Метки нет (Все метки)

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

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

В первой строке ввода записано одно целое число — количество шариков в цепочке (не более 105). В следующей строке через пробел перечислены цвета шариков цепочки. Цвета обозначены числами от 0 до 9, каждому цвету соответствует свое целое число.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2016, 03:37
Ответы с готовыми решениями:

нужно посчитать, сколько можно провести прямых, которые не будут параллельны другим прямым уже находящимся на коорд. плоскости.
Вообщем нам даны N пар чисел X и Y, обозначающие координаты точек. Нам нужно...

Классы, которые будут индексировать букву
Написать 3 класса которые будут индексировать букву

Разложить заданное число на слагаемые, которые не будут повторяться
#include <stdio.h> #include <stdlib.h> #include <string.h> #include...

Вывести три числа, которые будут равны сторонам треугольника
Привет всем.Только недавно начал учится.Короче такая простая задача:даны 3...

Работа с файлами(получение информации о файлах, которые будут архивироватся)
Функция записывает в текстовый файл общий размер информационного блока||размер...

1
lawr
372 / 266 / 478
Регистрация: 09.05.2014
Сообщений: 769
26.04.2016, 17:46 2
Лучший ответ Сообщение было отмечено pampam1 как решение

Решение

C++
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
#include <iostream>
#include <conio.h>
int DelBall (int *A, int n){
    int lenght=1, i;
    for (i=1; i<n; i++)
    {
        if (A[i]==A[i-1])
            lenght++;
        else 
            if (lenght>=3)
            {
                i-=lenght;
                break;
            }
            else
                lenght=1;   
    }
    for (; i<n-lenght; i++)
        A[i]=A[i+lenght];
    return lenght;
}
int main(){
    int size, deleted_ball=0, q;
    std::cin>>size;
    int *A= new int [size];
    for (int i=0; i<size; i++)
        std::cin>>A[i];
    do{
        q=DelBall(A, size);
        if (q==1)
            break;
        deleted_ball+=q;
        size-=q;
        
    }
    while (q!=1);
    std::cout<<"deleted "<<deleted_ball<<" balls"<<std::endl;
    
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2016, 17:46

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

Создать вторую очередь в которой будут только числа, которые нацело делятся на 2, 3, 5 одновременно
Здравствуйте. Прощу помощи с заданием: &quot;Ввести число N. Создать очередь из...

Дан рекурсивный алгоритм. Найдите сумму чисел, которые будут выведены при вызове F(2)
Дан рекурсивный алгоритм: void F(int n) { cout &lt;&lt; n; if (n &lt; 7) { ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru