|
0 / 0 / 0
Регистрация: 08.05.2016
Сообщений: 73
|
||||||
Разноцветный поезд. Правильный ли алгоритм?26.02.2017, 15:04. Показов 1918. Ответов 1
Метки нет (Все метки)
Мой версия алгоритма ниже. (известно, что он не всегда работает)
В городе готовится к открытию новая линия метро. Платформы станций на ней будут значительно длиннее стандартных. По задумке градоначальника первым по линии должен проехать торжественный разноцветный поезд. Поэтому глава города передал работникам вагонного депо схему окраски вагонов в порядке от головы состава. На двух запасных путях в депо уже стоит необходимое количество вагонов. Каждый из них окрашен в один из цветов. Цвет обозначается натуральным числом, не превосходящим 1 000 000. Справа находятся два запасных пути, на каждом из которых слева направо расположены вагоны. Работники депо могут за одну операцию прицепить в хвост поезда либо самый левый из находящихся на первом пути вагонов (если такие есть), либо самый левый из находящихся на втором пути. Они повторяют эту операцию до тех пор, пока ни на одном из запасных путей не останется вагонов. _________________<--- 1, 2, 1, 3 1, 1, 2, 4, 2, 1, 3, 1 _________________<--- 1, 4, 2 ,1 И естественно, у работников депо возник вопрос, можно ли построить описанным выше образом поезд, соответствующий цветовой схеме, которую им передал градоначальник. В примере мы можем получить поезд 1, 1, 2, 4, 2, 1, 3, 1 или поезд вида 1, 2, 1, 1, 4, 2, 1, 3, но не можем получить поезд вида 1, 2, 1, 2, 1, 2, 3, 4 или поезд вида 1, 1, 1, 2, 1, 2, 3, 4. Мой алгоритм: 1)заносим в 3 стека отдельно требуемый поезд(1) и два маленьких поезда(2) и (3) пока (1) не пустой 2)берем голову из каждого стека и если: if_____2а)голова(1) равна голове (2) и равна голове (3), тогда берем следующие элементы(т.е. которые после головы) из каждого стека и: ________если элемент после головы (1) равен эл-у после головы (2), то тогда удалили головы (1) и (2) иначе ________если элемент после головы (1) равен эл-у после головы (3), то тогда удалили головы (1) и (3) ________иначе удалили головы (1) и (2)(можно и 1 и 3, т.е. не важно) else 2б)голова(1) равна голове (2) и не равна голове (3), тогда удалили головы (1) и (2) else 2в)голова(1) равна голове (3) и не равна голове (2), тогда удалили головы (1) и (3) else если ничего из вышеперечисленного не произошло, тогда поезд составить нельзя, а если мы в это else не попали, то поезд составить можно Кому не лень, код: mainTrain - 1 стек train1, train2 2 и 3 стеки
0
|
||||||
| 26.02.2017, 15:04 | |
|
Ответы с готовыми решениями:
1
Алгоритм получения наилучшего варианта в игре мексиканский поезд Поезд отправляется в h1:m1, время в пути h2:m2. Во сколько прибывает поезд? Задача про поезд: будет ли поезд на платформе? |
|
Модератор
3136 / 2283 / 469
Регистрация: 26.03.2015
Сообщений: 8,886
|
||||||||||||
| 26.02.2017, 17:38 | ||||||||||||
Сообщение было отмечено _amper как решение
РешениеЧто касается задачи, то напрашивается решение через рекурсию:
1
|
||||||||||||
| 26.02.2017, 17:38 | |
|
Помогаю со студенческими работами здесь
2
Какой правильный алгоритм решения?:) Правильный алгоритм быстрой сортировки Правильный вывод. Алгоритм Прима Не могу написать правильный алгоритм Комментарии к сообщению, правильный алгоритм, циклы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает
Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|