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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Stormfire
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
#1

Потоки и паросочетания - C++

13.06.2011, 16:28. Просмотров 707. Ответов 1
Метки нет (Все метки)

Здравствуйте, опять появилась проблема с реализацией задания на С++.
Самостоятельно решить не вышло, но смог найти реализацию на Паскале. Возможно, кто-то сможет помочь перевести с Паскаля на С++.(Скриншот в приложении или,возможно, кому-то будет удобней название книги с которой взято: М.С.Долинский "Решение Сложных и Олимпиадных Задач по программированию" 37ст, Питер 2006.)
Зарание благодарен.
Задание очень громосткое и звучит оно так:

Компания выпустила игру, для которой необходима конструкция, состоящая из маленьких платформ и труб. Платформы разделяются на стартовые (их N1 штук), финишные (N3 штук) и промежуточные (N2 штук). Все стартовые платформы находятся на одинаковой высоте. Финишные платформы также находятся на одинаковой высоте. Все высоты промежуточных платформ различны. Они меньше высоты стартовых, но больше высоты финишных. Каждой платформе соответствует уникальный номер от 1 до Nl+N2+N3. Нумерация следующая: сначала перечислены все стартовые платформы, затем промежуточные и, наконец, финишные. Все промежуточные платформы пронумерованы по убыванию высоты. То есть если высота промежуточной платформы А больше высоты платформы В, то номер А меньше номера В. На каждой из стартовых платформ находится шарик. Шарик может скатиться с платформы А на платформу В, если они соединены трубой и высота А больше высоты В. На каждой из финишных платформ может оказаться более одного шарика. Если шарик находится на некоторой платформе, то игрок может выбрать направление дальнейшего пути шарика, то есть выбрать платформу, на которую шарик скатится. Также для каждой промежуточной платформы задано число С, равное максимальному количеству шариков, которые могут прокатиться по ней за время игры. Цель игры заключается в том, чтобы на финишных платформах оказалось как можно больше шариков. Вам нужно узнать, какое максимальное количество шариков может оказаться на финишных платформах в результате игры.
Ввод:
N1 N2 N3
CN1+1
CNl+N2
K1 A[1.1] : A[1.K1]
K2 A[2.1] : A[2.K2]
KNl+N2A[Nl+N2.1] : A[Nl+N2.KNl+N2]
где числа N1, M2, N3 — соответственно количество стартовых, промежуточных и финишных платформ. Cj — максимальное количество шариков, которые могут прокатиться по промежуточной платформе с номером,;(N1 +1 <=j <= N1 +M2) за все время игры. Ki — количество труб, выходящих из платформы с номером i (1<=A<= N1 +N2). Элементы массива A, перечисленные в строке, являются номерами платформ, на которые может скатиться шарик с соответствующей платформы.
Ограничения: Все числа на вводе целые. Не существует труб между стартовыми платформами. Не существует труб между финишными платформами.
Вывод:
В первой строке выходного файла должно находиться единственное число, равное максимальному количеству шариков, которые могут оказаться на финишных платформах в результате игры.
Пример ввода
3 4 3
3
2
1
2
1 4
1 4
1 4
2 5 6
1 7
1 7
3 8 9 10
Пример вывода:
2
Миниатюры
Потоки и паросочетания  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.06.2011, 16:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Потоки и паросочетания (C++):

Алгоритм Габова для поиска максимального паросочетания в произвольном графе за O(V^3) - C++
Прокомментируйте каждую строку. Очень нужно. Спасибо! #include &lt;cstdio&gt; #include &lt;cstring&gt; #include &lt;queue&gt; using namespace std;...

Перевод из Delphi (Алгоритм нахождения наибольшего паросочетания в двудольном графе) - C++
UNIT1 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,...

Что такое потоки ввода, потоки вывода? - C++
Здарова всем! Не так давно уже прогаю на С++ и все НИКАК не могу понять, что такое потоки ввода, потоки вывода..! вот допустим...

Потоки - C++
Пару вопросов про потоки... 1. Открывается поток, в нем запускается еще один... потоки отсоединяются, как закрыть дочерний поток когда...

потоки - C++
1---------------------------------------------------------------------------------------------------------- Можно ли перенаправить потоки...

Потоки - C++
Кто может скинуть какую-нибуть хорошую статью по ПОТОКАМ? читал про них в книге Шилдт &quot;С++ Базовый курс&quot;, но мало что понял((

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Stormfire
0 / 0 / 0
Регистрация: 29.11.2010
Сообщений: 43
14.06.2011, 01:59  [ТС] #2
Ищу помощи, Друзья!

Добавлено через 2 часа 24 минуты
dasdasdasd
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2011, 01:59
Привет! Вот еще темы с ответами:

Потоки - C++
Задание: 1.Отображение списка запущенных потоков. 2.Создание нового потока по запросу пользователя.(это у меня сделано и работает) ...

Потоки в C++ - C++
Господа, можете посоветовать хорошую книгу по потокам в C++ или мануалы какие-то что ли ? Не советуйте материал найденный в поисковике,...

VC, потоки. - C++
Вот что я написал: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;afxwin.h&gt; UINT myproc1 (LPVOID pParam) { return 0; } ...

Потоки - C++
Здравствуйте, помогите пожалуйста преподаватель сказал нужно добавить код в третьем потоке(thread3), чтобы событие не происходила пока не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru