Форум программистов, компьютерный форум CyberForum.ru

Алгоритм решения задачи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ корректировка массива http://www.cyberforum.ru/cpp-beginners/thread676446.html
перенести максимальную группу с положительными элементами в начало массива #include "stdafx.h" #include "iostream" #include "conio.h" #include <time.h> using namespace std;
C++ При инициализации указателя на функцию происходит ошибка сборки программы Здравствуйте, захотелось написать мне более-менее масштабируемую структуру типа словарь, причем без использования шаблонов. Для этого я ввел указатель на функцию сравнения ключей и значений. Но при компиляции/линковки у меня вылетают ошибки cmap.o:(.data+0x0): multiple definition of `keyCompareFunc' preprocessor.o:(.data+0x0): first defined here cmap.o:(.data+0x4): multiple definition of... http://www.cyberforum.ru/cpp-beginners/thread676431.html
C++ Вывести слова, которые не содержат букву а
помогите с задачкой) Вывести слова, которые не содержат букву а.(простой способ)
Определить, каких символов больше: цифр или латинских букв C++
помогите с задачкой:) Дана строка символов. Признак конца - символ '\n' ( перевод строки). Определить, каких символов больше: цифр или латинских букв
C++ Сохранение и загрузка из бинарного файла http://www.cyberforum.ru/cpp-beginners/thread676402.html
Нужна помощь по этой задаче. Сохранить и загрузить квадратную матрицу в бинарный файл.
C++ Сортировка слиянием по Кормену Возникла проблема с сортировкой на этапе слияния: void Merge (int arr , int p, int q, int r) { int n1 = q - p, n2 = r - q; int L , R , i, j; for (i = 0; i < n1; i ++) L = arr ; for (j = 0; j < n2; j ++) R = arr ; подробнее

Показать сообщение отдельно
De_N
28 / 26 / 9
Регистрация: 15.10.2012
Сообщений: 60
21.10.2012, 16:02     Алгоритм решения задачи
Если я правильно понял условие, то графически данную задачу можно представить как одномерную полуось, т.е. например только положительное направление оси X.
Начало координат расположено в начальной точке с координатой 0.
На этой оси имеется n точек (монет). Их координаты даны по условию.
Как я понимаю Али-баба может передвигаться от точки к точке и при этом сам выбирать первую точку.

Лично моё мнение об алгоритме:
Мне кажется нужно начинать от самой срочной точки (монеты) и двигаться по мере уменьшения срочности.
Находясь в текущей точке, вибирать самую срочную и вычислять до нее расстояние. Если это расстояние (оно же и время, необходимое на путь) больше срочности, то монету нельзя собрать -> задача не решается.
Если же уложиться во время можно, то отмечаем текущую точку как посещенную (собрали монету) и переходим к следующей. Действия повторяются.
Если всё это верно, думаю будет удобно использовать для описания точки структуру с полями:

int coord; // Координата (дана по условию)
int time; // Срочность/время на сбор (также дано)
bool take; // Показатель того, что монета собрана (точка посещена)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru