![]() |
|
|
#1
|
|||
|
|||
|
В одной компьютерной игре игрок выставляет в линию шарики разных цветов. Когда образуется непрерывная цепочка из трех и более шариков одного цвета, она удаляется из линии. Все шарики при этом сдвигаются друг к другу, и ситуация может повториться.
Напишите программу, которая по данной ситуации определяет, сколько шариков будет сейчас уничтожено. Естественно, непрерывных цепочек из трех и более одноцветных шаров в начальный может быть не более одной. Формат входного файла Даны количество шариков в цепочке (не более 1000) и цвета шариков (от 0 до 9, каждому цвету соответствует свое целое число). Формат выходного файла Требуется вывести количество шариков, которое будет уничтожено. Задача с сайта informatics.mccme.ru Номер задачи №1461 Решать не надо, просто попрошу опытных людей дать пару наводок на её решение)) ![]() |
|
#2
|
||||
|
||||
|
из TList удобней удалять, само сдвигаться будет.
|
|
#3
|
|||
|
|||
|
я тебя не понял))
мне надо на Delphi её решить)) |
|
#4
|
||||
|
||||
|
Гугли, гад, гугли...
|
|
#5
|
|||
|
|||
|
мне готовое решение не нужно...
|
|
#6
|
||||
|
||||
|
Полазил по сайту с задачами... "Шарики" - хоть адекватная.
111878 вот эта вообще на мой вгляд решения не имеет. 10372 вот тож прикольная Решение: Код:
trunc(sqrt(min(a1,a2)+min(a3,a4))) Последний раз редактировалось Aristarh Dark, 21.02.2014 в 17:51. |
|
#7
|
||||
|
||||
|
Цитата:
Последний раз редактировалось M.A.D.M.A.N., 21.02.2014 в 18:26. |
|
#8
|
||||
|
||||
|
Там кстати ошибка в образце
Цитата:
Цитата:
![]() По-ходу там нужно тупо подсчитывать кол-во одинаковых цифр в цепочке, можно циклом пройтись от начала и помечать пройденные, если такое ещё хоть раз до конца встречается в данных, то увеличить счетчик, а если больше нет, уменьшить на еденицу. Правда так будет много циклов, а там вроде ограничение по времени исполнения наблюдается |
|
#9
|
||||
|
||||
|
Цитата:
|
|
#10
|
||||
|
||||
|
Опа, точно, извнт - это и в прямь счётчик шариков в рядке оказывается, хоть бы разделитель применили заметный что-ли
Да и выходит правда, сдвигом нужно это решать, поскольку напр. здесь после удаления "трипл"ы из 1 образуется "тринити" из 2, а затем и "дабл-дабл" из 3, и такое можно просчитать лишь после удаления, повторной проверкой |
|
#11
|
|||
|
|||
|
Даны количество шариков в цепочке (не более 1000) и цвета шариков (от 0 до 9, каждому цвету соответствует свое целое число).
|
|
#12
|
|||
|
|||
|
Цитата:
|
|
#13
|
||||
|
||||
|
Цитата:
|
|
#14
|
|||
|
|||
|
Цитата:
|
|
#15
|
||||
|
||||
|
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
Classes,
SysUtils;
var
l: TList; |