|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.03.2016, 15:54 | #1 |
Регистрация: 09.04.2015
Сообщений: 9
|
Задача на Си
Условие:
В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется непрерывная цепочка из трех и более шариков одного цвета, она удаляется из линии. Все шарики при этом сдвигаются друг к другу, и ситуация может повториться. Напишите программу, которая по данной ситуации определяет, сколько шариков будет сейчас "уничтожено". Естественно, непрерывных цепочек из трех и более одноцветных шаров в начальный момент может быть не более одной. Входные данные Сначала вводится количество шариков в цепочке (не более 1000) и цвета шариков (от 0 до 9, каждому цвету соответствует свое целое число). Выходные данные Требуется вывести количество шариков, которое будет "уничтожено". Примеры входные данные 5 1 3 3 3 2 выходные данные 3 Мой код: Код:
Последний раз редактировалось evgenybal; 14.03.2016 в 16:13. |
14.03.2016, 16:08 | #2 | |
Форумчанин
Регистрация: 06.10.2011
Сообщений: 181
|
Цитата:
А если не секрет, можете дать ссылку на данный сайт? |
|
14.03.2016, 16:14 | #3 | |
Регистрация: 09.04.2015
Сообщений: 9
|
Цитата:
|
|
14.03.2016, 16:20 | #4 |
Форумчанин
Регистрация: 06.10.2011
Сообщений: 181
|
А есть ли названия у этих тестов? Как-то возможно понять, в каком направлении двигаться?
|
14.03.2016, 16:26 | #5 |
Регистрация: 09.04.2015
Сообщений: 9
|
|
14.03.2016, 16:29 | #6 |
Форумчанин
Регистрация: 06.10.2011
Сообщений: 181
|
И все-таки мне кажется, что должен быть обработан вариант нескольких "убийств" шариков, т.е. рассмотрим такую цепочку: 2 5 3 9 9 9 3 3. В данной цепочке сначала уйдут девятки, а следом тройки. Соответственно уйдет 6 шаров. Вполне возможно, что хотя бы +1 тест будет выполнен.
|
14.03.2016, 16:38 | #7 | |
Регистрация: 09.04.2015
Сообщений: 9
|
Цитата:
|
|
14.03.2016, 16:43 | #8 |
Форумчанин
Регистрация: 06.10.2011
Сообщений: 181
|
Не надо выводить массив уничтоженных шаров. Просто, в случае уничтожения шаров, тебе надо надо будет сдвигать конец массива на количество уничтоженных шаров на место первого уничтоженного шара. Затем, опять проверять, есть ли 3 подряд одинаковых. Если есть, повторяешь процедуру.
|
14.03.2016, 16:45 | #9 | |
Регистрация: 09.04.2015
Сообщений: 9
|
Цитата:
|
|
14.03.2016, 17:03 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
кстати, я бы программу сразу проверил на граничные ситуации.
посмотрите, правильно ли ваша программа разберёт такие исходные данные 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 1 1 2 1 1 2 2 2 1 2 2 1 1 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача по подсчёту статистики использования букв. Другая задача - по длинной арифметике Pascal ABC | kimberly | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 24.12.2012 17:03 |
задача на структуру(struct)/задача на работу с файлом | SevenArth | Помощь студентам | 0 | 26.04.2012 19:06 |
Задача на оптимальный расчет маршрута (задача в презентации) в табличном процессоре Excel | Toofed | Помощь студентам | 0 | 30.11.2011 01:12 |
Задача минимизации дисбаланса на линии сборки (задача минимакса) | LenZab | Microsoft Office Excel | 13 | 13.03.2011 22:51 |