Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Задача на псевдографику. https://www.cyberforum.ru/ cpp-beginners/ thread435155.html
Здравствуйте. Помогите пожалуйста написать прототип функции.Суть состоит вот в чем: Имеется два массива char a = { '┌', '─', '┬', '┐', '├', '└', '┘',...
C++ Реализация очереди массивом https://www.cyberforum.ru/ cpp-beginners/ thread435176.html
Как реализовать очередь с помощью массива???? Очень давно писал, где-то год назад, но код сохранился #include <iostream> using namespace std; #define SIZE 100 #define PRINT(A) cout << endl << #A << endl; class queue { int q; int...
C++ Поиск k-ого наименьшего элемента https://www.cyberforum.ru/ cpp-beginners/ thread435214.html
Друзья есть код на паскале, нужно переписать на с++. Это алгоритм поиска к-го наименьшего элемента. У меня получается криво, с ошибками. procedure Find(k: integer); var L,R,i,j: integer; w,x:... Вот поправили слегка. Неа. С циклами все равно косяки, будет выход за границы массива.
C++ дата https://www.cyberforum.ru/ cpp-beginners/ thread435250.html
Ввести (с клавиатуры) дату в формате ДД.ММ,ГГГГ и вывести на экран дату следующего дня (используются операторы *Условия выбора и циклы*-по заданию) заранее спасибо очень тяжело Си дается
C++ очередь, стек, вектор, множество не могу разобраться, если очередь и стек понятно что такое, то вектор и множество, я начинаю не понимать....вот если есть кусок кода с очередью и стеком, с вектором и множеством как? struct... но вот когда пишут вектор класс, класс множество....и множество вывести с помощью вектора... чего-чего? извольте четко перепечатать задание https://www.cyberforum.ru/ cpp-beginners/ thread435161.html C++ Решение задачи Как решить задачу: поменять местами второй четный со вторым нечетным в одномерном массиве Находите второй четный и второй нечетный. Затем обмениваете. Ваш КО. Наработки покажите. https://www.cyberforum.ru/ cpp-beginners/ thread435218.html
C++ Хранение и обработка данных с использованием линейных списков https://www.cyberforum.ru/ cpp-beginners/ thread435187.html
Люди, помогите пожалуйста!!! Дали задание к курсовой работе. Сделать надо любое из двух (какое легче) но сделать не могу ни 1, ни 2 Заранее спасибо! ау, народ
Аварийное завершение... почему? C++
Код рабочий, но если элементов больше 4, тогда программа аварийно завершает работу, почему? #include <iostream> using namespace std; string Read(string Mass, int size){for(int... kuraiMuko, а ничего что Вы про return забыли Вот все работает http://liveworkspace.org/code/d760048fda122d52e01dc73dfea31b3a
C++ Замена слов в строке Добрый вечер. Помогите, пожалуйста советом или кодом: требуется полученную строку изменить так, чтобы первое и среднее слово поменялись местами. void f(char *s) { int len=strlen(s); int... закончил сам. Может будет кому-то полезной: void f(char *s) { { char *x={0}; char *p=strtok(s, " "); char* t=new char; int i=0; while(p) { https://www.cyberforum.ru/ cpp-beginners/ thread435213.html C++ Проверить правильность написания коментариев Доброго времени суток! Проверьте, пожалуйста, правильно ли я понимаю фрагмент кода программы, проверьте комментарии правильно написаны или нет while (i1<size && i2<set1.size)//пока не достигнуть... https://www.cyberforum.ru/ cpp-beginners/ thread435178.html
C++ Найти произведение ряда Люди помогите пожалуйста с двумя задачками: 1. В матрице размером 4на5 найти наибольший среди наименьших элементов столбцов. 2. 2. Вычислить значение min... В матрице размером 4на5 найти наибольший среди наименьших элементов столбцов. это как? поясните задание https://www.cyberforum.ru/ cpp-beginners/ thread435188.html C++ зеркальное отображение в С https://www.cyberforum.ru/ cpp-beginners/ thread435191.html
Дана задача сделать зеркальное отображение двумерного массива M*N Нужно поменять 1-ый с последним, 2-ой с предпоследним и т.д.
50 / 50 / 12
Регистрация: 22.05.2011
Сообщений: 326
20.05.2012, 16:21 0

Оптимальное заполнение или "Халява" - C++ - Ответ 3056850

20.05.2012, 16:21. Показов 3723. Ответов 22
Метки (Все метки)

Ответ

Цитата Сообщение от valeriikozlov Посмотреть сообщение
Могу описать алгоритм, который сам использовал для решения этой задачи:
Для решения нужны два трехмерных массива: t1[][][] размером (a+1)*(b+1)*(c+1) и t2[][][] такого же размера. Изначально значения массивов равны 0.
t1[][][] - нужен для количества звездочек, которые не хватает на очередную футболку. Т.е. любое значение t1[i][j][y] (i- количество крышек с 1 звездой, j - количество крышек с 2-мя звездами, y - количество крышек с 3-мя звездами) может быть в диапазоне от 0 до K-1. Как только это значение достигает или превышает K , то мы значение t1[i][j][y] обнуляем, но увеличим на 1 значение t2[i][j][y].
t2[i][j][y] - будет иметь значение максимального числа футболок когда: i- количество крышек с 1 звездой, j - количество крышек с 2-мя звездами, y - количество крышек с 3-мя звездами.
Теперь сам проход:
три цикла:
C++
1
2
3
  for(i=1; i<a+1; i++)
      for(j=1; j<b+1; j++)
          for(y=1; y<c+1; y++)
В каждой итерации выбираем максимальные значения для t1[i][j][y] и t2[i][j][y].
Пробуем сначало оттолкнуться от значения t1[i-1][j][y] (количество неиспользуемых звезд) и t2[i-1][j][y] (количество имеющихся футболок). t1[i][j][y] будет равно t1[i-1][j][y]+1, а t2[i][j][y] будет равно t2[i-1][j][y]. Но если t1[i][j][y] стало равным или более K, то запишем t1[i][j][y]=0; t2[i][j][y]++;

Потом пробуем оттолкнуться от значения t1[i][j-1][y] и t2[i][j-1][y]. Здесь нужно учитывать, что значения в t1[i][j][y] и t2[i][j][y] уже есть, но если количество футболок получаем из варианта [i][j-1][y] превысит записанное значение в t2[i][j][y] или
количество футболок останется прежним, но увеличится количество неиспользованных звезд, то значения t1[i][j][y] и t2[i][j][y] будут расчитываться от значений t1[i][j-1][y] и t2[i][j-1][y].

Так же в этой же итерации проверяется возможность получения максимального значения t1[i][j][y] и t2[i][j][y] из варианта t1[i][j][y-1] и t2[i][j][y-1]
Спасибо за обьяснение, сейчас попробую сдать. Вообще странно, что 10^8 операций заходят.

Вернуться к обсуждению:
Оптимальное заполнение или "Халява" C++
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.05.2012, 16:21
Готовые ответы и решения:

OTEC или халява из тепла океана
в этой теме есть 2 тотал проблемс 1) КПД отбора энергии 2) транспортировка холода со дна океана. погнали! солнце светит 1400Вт/кв...

Оптимальное заполнение объема
Добрый день! Прошу помощи в &quot;наставлении на путь истинный&quot;. Прошу без излишних отсылок к специалистам иди т.п. Задача...

оптимальное заполнение пространства
Здравствуйте! пишу модификацию для игры, мне необходимо заполнять пространство вокруг &quot;точки появления&quot; обьектами (одного...

22
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2012, 16:21
Помогаю со студенческими работами здесь

Оптимальное заполнение двумерного массива другими 2-мерными массивами
Всех приветствую. В общем, досталась мне не хиленькая задачка про эти двумерные массивы. Суть её в чём? Есть двумерный массив 15х15,...

Заменил вентилятор, как понять оптимальное количество оборотов или температуру бп?
Стал шуметь БП, купил вертушку 140х140мм PWM (BeQuiet Pure Wings 2) и подключил его в мать, не хотел резать и перепаявать провода (на БП 2...

Оптимальное количество заданий и оптимальное количество игр при обучении с использованием ИИ
Здравствуйте! У меня два вопроса при обучении в среднем на 1 предмет в ВУЗЕ : 1.оптимальное количество генерации заданий ...

Халява Сэр
Вот прислали как образцы STM32F103R8T6, STM32F103VBT6, STM32F105VBT6, STM32F107VCT6 &lt;Изображение удалено&gt;

Определить оптимальное количество шагов, при котором max траекторий возвращается ИЛИ пересекает 0
Симметричное (p=q=1/2) одномерное дискретное случайное блуждание.Движение точки возможно в любое направление от 0(2-100 шагов-длина...

0
Новые блоги и статьи
std::mutex в C++: Хитрости и тонкости использования
Wired 03.03.2025
В C++ ключевым инструментом для обеспечения корректной работы параллельных процессов выступает std::mutex – примитив синхронизации, появившийся в стандарте C++11. До его появления использовали. . .
std::span в C++: Производительно­сть и практическое использование
Wired 03.03.2025
Традиционная работа с указателями и массивами часто приводит к ошибкам и уязвимостям в безопасности. Именно поэтому в C++20 появился std::span - легковесная обертка, обеспечивающая безопасный. . .
std::span в C++: Константность и безопасность типов
Wired 03.03.2025
std::span - представитель семейства view-типов, появившийся в стандарте C++20. Этот компонент предоставляет легковесное и эффективное решение для работы с непрерывными последовательностями данных,. . .
std::span в C++: Subview и Slice
Wired 03.03.2025
std::span - невладеющий тип данных C++, который предоставляет гибкий интерфейс для работы с непрерывными последовательностями элементов. Этот тип существенно упрощает обработку массивов и. . .
std::span в C++: Доступ к элементам и итерирование
Wired 03.03.2025
Появление std::span в стандарте C++20 стало значительным шагом вперед, предоставив разработчикам средство для безопасного и производительного доступа к непрерывным последовательностям элементов. . . .
std::span в C++: Управление массивами данных без владения
Wired 03.03.2025
Новый класс std::span, появившийся в стандарте C++20, открывает возможности для оптимизации работы с последовательными наборами данных. По сути, это легковесная обертка, которая предоставляет доступ. . .
Неблокируемый стек в C++26: реализуем простой сборщик мусора
stackOverflow 02.03.2025
Многопоточные приложения требуют надежных и производительных структур данных, способных эффективно работать в условиях конкурентного доступа. Неблокируемые структуры данных представляют собой особый. . .
Шаблон REQ/REP в ZeroMQ: сверхбыстрый обмен сообщениями в C++ и Python
stackOverflow 02.03.2025
Построение высоконагруженных распределенных систем требует надежного и производительного механизма обмена сообщениями. ZeroMQ выделяется среди прочих решений своей невероятной скоростью работы и. . .
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru