Что касается проблемы миссионеров и каннибалов (MCP), как я могу справиться с общими ситуациями, например. М/К n, а не 3C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Что касается проблемы миссионеров и каннибалов (MCP), как я могу справиться с общими ситуациями, например. М/К n, а не 3

Сообщение Anonymous »

Я решал задачу MCP, и меня попросили найти наименьшее время транспортировки для данного случая, в котором количества M и C равны.

Код: Выделить всё

eg. Given 3 missionaries/cannibals and max capacity of boat is 2, the expected result is 11;
Given 4 missionaries/cannibals and max capacity of boat is 3, there is no solution, and expected result is -1.
У меня проблемы с этим кодом, который я ранее использовал для решения фиксированного случая 3 2.
Ниже приведен мой код, который входит в тупик при вводе равен 4 2 и не может пройти онлайн-судью.

Код: Выделить всё

#include 
using namespace std;

struct state
{
int wolf, sheep;
};

state s[65536];
int d[65536] = {0};
int k;

vector op;

void solve(int n, int m)
{
if (m == 1)
{
cout = op.size())
d[k--] = 0;
} while (!(s[k].wolf == 0 && s[k].sheep == 0));

cout  n >> m;

solve(n, m);

return 0;
}
где я использовал волк и овцу для обозначения миссионеров и каннибалов.
Искренне рассчитываем на вашу щедрую помощь.


Подробнее здесь: https://stackoverflow.com/questions/792 ... ral-situat
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»