Суть задачи заключается в следующем:
Три рыцаря, каждый в сопровождении оруженосца, съехались на берегу реки, намереваясь переправиться на другую сторону. Им удалось найти маленькую двухместную лодку, и переправа произошла бы легко. Но одно затруднение чуть было не помешало этому предприятию. Все оруженосцы отказались оставаться в обществе незнакомых рыцарей без своих хозяев. И все же переправа состоялась, все шесть человек благополучно перебрались на другой берег с помощью одной двухместной лодки. При этом соблюдалось условие, на котором настаивали оруженосцы. Как это было сделано?
Вот решение задачи из интернета с другим условием, которое подходит и сюда (припустим H - рыцарь, а W - оруженосец):
Помогите пожалуйста это все реализовать в с++ (в ооп желательно). Пришел к мысли, что использовать надо неориентированный граф либо дерево. Заранее спасибо.
Upd:
Пытался все это реализовать пока что через два массива, которые отображают текущее положение рыцарей и оруженосцев. Имеется функция, которая проверяет, не перебрались ли все люди на другой берег, но вот с основным циклом беда:
bool knights[3] = { 0,0,0 };
bool pages[3] = { 0,0,0 };
bool allCrossed() {
for (int i = 0; i < 3; i++)
if (!knights[i] || !pages[i])
return 0;
return 1;
}
int main()
{
while (!allCrossed()) {
;// основной цикл
}
getchar();
return 0;
}
Здесь я не вижу как можно начать новую итерацию и как ее завершить.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Нужно изменить функцию user_loop() чтобы определить угол наклона комнатыВ комнате криволинейная поверхность
Думаю освоить DirectShow, так как помимо вебки далее придётся работать со звуком, а DS, как я понял, универсальное и актуальное на данный момент...
В Qt существует так называемый QGamepadManager Class который отвечает за подключение джойстика и получения с него сигналов при нажатии на кнопку или...
Уточнить корень уравнения x^2-x-03=0 на отрезке [1;2] с точностью Eps = 10^-5, используя метод деления отрезка пополам