| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Java] "Координаты картофелин" |
| Автор: Merhaba 12.5.2011, 19:45 |
| Добрый Вечер!!! Помогите Пожалуйста решить задачу, очень надо!!! Ограничение времени: 0.5 секунды Ограничение памяти: 64 МБ Анка и Петька ждали Чапаева и ели картошку. Вскоре они наелись и решили поиграть в «Чапаева» оставшимися четырьмя картофелинами. Петька достал доску размером 20 × 20 клеток, положил на неё картофелины и сказал, что по правилам никакие две картофелины не могут находиться в одной клетке, а одной картофелиной можно сбить другую только в том случае, если они расположены на одной горизонтали или вертикали и между ними нет других картофелин. Анка предложила взять некоторые картофелины и поставить их на другие свободные клетки так, чтобы каждой картофелиной можно было сбить ровно одну другую. Помогите Петьке переставить как можно меньше картофелин, чтобы выполнить её просьбу. Исходные данные В четырёх строках записаны координаты картофелин xi, yi — целые числа в пределах от 1 до 20. Никакие две картофелины не расположены в одной клетке. Результат Выведите новые координаты картофелин. Картофелины следует описывать в том же порядке, в котором они заданы на входе. Если возможных ответов несколько, выведите любой. Пример: 1 1 2 2 4 4 4 3 Результат: 1 2 2 2 4 4 4 3 |
| Автор: Merhaba 13.5.2011, 08:27 |
| Мне кажется, такой алгоритм тут подойдёт: Задаётся массив из 4-х элементов, в нем будет храниться информация о каждой картофелине - координаты и количество бьющих её картошек. В начале этот массив заполняется, нужен будет метод, находящий, сколько клеток бьют клетку, координаты которой во входных параметрах метода. Ну и главный цикл - проход по всем элементам массива, если какой-то эл-т бьёт не 1 клетка, а больше или меньше (а по условию нужна именно одна), то ищем такую клетку, которую бьёт одна другая клетка.. и переставляем. И обновляем информацию о том, какую клетку сколько бьют. Помогите Пожалуйста реализовать код! |