|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Java - Помогите написать программу для определения оптимального пути (возможно псевдокод) |
|
Java - Помогите написать программу для определения оптимального пути (возможно псевдокод)
|
Новый участник Сообщения: 16 |
Профиль | Отправить PM | Цитировать Условие:
План прямоугольного сада размером MxN состоит из квадратных зон. В каждой зоне растёт по дереву. С каждого дерева любой зоны могут упасть несколько яблок. В левом верхнем квадратике находится ёжик, который должен дойти до правого нижнего квадратика. В саду существуют ограничения относительно способа передвижения: ёжик может двигаться из текущего квадратика только в один из двух соседних правый либо нижний. Составьте программу, которая вычисляет максимальное количество яблок, которое может собрать ёжик, передвигаясь к нужному квадратику. Технические условия: План сада задан таблицей apples содержащей m строк и n столбиков. Элемент apples[i,j] таблицы указывает количество яблок, упавших с дерева в зону с координатами i,j. Текстовый файл input.txt содержит в первой строке числа M,N разделённые пробелом. В каждой из следующих m строк содержится по n чисел apples[i,j] разделённых пробелами. Файл output.txt должен содержать одно натуральное число. Примеры файлов: Input.txt Output.txt 3 3 1 2 3 1 2 3 1 2 3 12 |
|
Отправлено: 00:23, 22-11-2013 |
Ветеран Сообщения: 1807
|
Профиль | Отправить PM | Цитировать Боюсь, что в реале ёжик рано или поздно долбанется башкой о ствол яблони, положение которого не учтено в условии...
|
Отправлено: 12:10, 22-11-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать (Чтение файла я не делал - только рекурсию) |
------- Последний раз редактировалось AMDBulldozer, 22-11-2013 в 12:50. Отправлено: 12:23, 22-11-2013 | #3 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать почему не получается инициализировать массив следующим образом:
int[][] apples = new int[4][] { { 3, 3 }, { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } }; |
Отправлено: 12:42, 22-11-2013 | #4 |
Ветеран Сообщения: 2029
|
Профиль | Отправить PM | Цитировать nastr, потому что то, что Вы написали, это вообще не массив.
|
|
------- Отправлено: 12:49, 22-11-2013 | #5 |
Новый участник Сообщения: 16
|
Профиль | Отправить PM | Цитировать Цитата AMDBulldozer:
Я модифицировал под C#: int n = 3, m = 3; int[,] apple = new int[3,3] { { 1, 2, 3 }, { 1, 2, 3 }, { 1, 2, 3 } }; int MaxApples(int i0, int j0) { int i, i1, max = 0, max0, sum = 0; if (j0 >= m) { for (i = i0; i <= n; i++) sum += apple[i - 1, m - 1]; return sum; } else { for (i1 = i0; i1 <= n; i1++) { sum = 0; for (i = i0; i <= i1; i++) sum += apple[i - 1, j0 - 1]; max0 = sum + MaxApples(i1, j0 + 1); if (max0 > max) max = max0; } return max; } } |
|
Последний раз редактировалось Delirium, 22-11-2013 в 15:50. Отправлено: 13:47, 22-11-2013 | #6 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Типовая задача динамического программирования, решается за один проход M*N (рекурсия не нужна).
http://ru.wikipedia.org/wiki/%D0%94%...BD%D0%B8%D0%B5 очень походит на нечёткое сравнение http://habrahabr.ru/post/114997/ |
Отправлено: 10:36, 25-11-2013 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
C/C++ - [решено] C++ помогите написать программу | Hatalllka1 | Программирование и базы данных | 11 | 04-02-2014 17:02 | |
C/C++ - [решено] Помогите написать программу на с++ для перевода чисел из системы счисления | vanek48ru | Программирование и базы данных | 8 | 28-02-2013 17:51 | |
C/C++ - помогите написать программу!!!!!! | unkown5219362 | Программирование и базы данных | 2 | 17-01-2013 17:08 | |
Любой язык - Команда для определения пути установленной программы и последующая распаковка архива | MadMaks | Скриптовые языки администрирования Windows | 3 | 02-11-2012 15:39 | |
Delphi - Помогите написать программу для поиска суммы двух знаком двухзначного числа. | highlander5 | Программирование и базы данных | 6 | 28-01-2011 12:38 |
|