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

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

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

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

13.06.2011, 16:28. Просмотров 694. Ответов 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     Потоки и паросочетания
Посмотрите здесь:

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

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

Потоки - C++
Есть 2 потока: main_thread и thread Как из main_thread завершить thread?

Потоки с++11 - C++
Подскажите, где почитать про потоки в новом стандарте плюсов

Потоки - C++
Есть такой файл: Andriy aa 1 2 3 Petro dd 1 1 1 Vasa rdg 5 5 88 Ivan n 5 5 5 И нужно определить такое имя, у которого есть...

потоки с++ - C++
добрый вечер !нужно проверить мою программу с потоками. переделала, но что-то не так( закомменченная программа, моя на основе которой...

Потоки - C++
Как передать параметры потоку, если я его вызываю с помощью _beginthread

Потоки - C++
Помогите,пожалуйста!Написать программу, которая считывает текст из файла и выводит на экран только предложения, начинающиеся с тире, перед...

Потоки - C++
В процессе выполнения задачи возникла проблема чтения объектов из потока и сохранения их в массив: cout &lt;&lt; &quot;Rasstojanie = &quot; &lt;&lt; xx...

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

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

Потоки - C++
Я нашел в интернете отличную статью про потоки и многопоточность и на её основе написал следующую программу: #include &quot;stdafx.h&quot; ...


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

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

Добавлено через 2 часа 24 минуты
dasdasdasd
Yandex
Объявления
14.06.2011, 01:59     Потоки и паросочетания
Ответ Создать тему
Опции темы

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