![]() |
Задачка-головоломка
Вместо того чтобы учить студентов первых-вторых курсов информатике, нам сунули в зубы *censored* учебник какого-то препода, в котором задачки не столько на знание Си, сколько на соответствие уровню умственного развития как минимум Шерлока Холмса или блин Цезаря и кто там самый умный был =\
Ладно, постараюсь всё обьяснить как можно более внятно. Задача: Тема: рекурсивный вызов функции. 11. Разместить на шахматной доске максимальное количество слонов и ладей так, чтобы они не находились друг у друга " под боем" . Прога должна вернуть количество ладей и слонов, которым удалось уместиться. Известно что: - Ладья, не имея ограничений, может передвигаться на любое расстояние по горизонтали и вертикали. - Слон ходит по диагонали на любое расстояние. Первое же препятствие в решении задачи: в какой последовательности ставить слонов и ладьи на доску, так чтобы они заняли всё пространство? По логике - прогоняем все клетки доски и ставим по очереди то ладью, то слона, так чтобы никто никого не мог сбить. Разделения на белых и чёрных тут нет. Вот что получается: http://img148.imageshack.us/img148/7275/var1oe1.jpg Как видите, справа осталось полным полно клеток, куда можно поставить фигуры с сохранением условия. Как рекурсией обойти и те клетки тоже? =\ Либо надо поменять порядок вставки слонов и ладей, но ведь он вообще нигде не оговорён, как я могу придумывать его? Тогда это уже вообще идиотизм, я не Си изучаю, а шахматы :mad: И вот код, который я набросал: Код:
#include <stdio.h>Но главная проблема в том, что я не знаю как проверить оставшиеся клетки =\ |
Цитата:
|
2 Ci5
согласен :( тока вот задачу надо решить к зимней сессии |
11. Разместить на шахматной доске максимальное количество слонов и ладей так,
чтобы они не находились друг у друга " под боем" . У тебя на картинке все ладьи под боем - или "под боем" не должны быть слоны с ладьями а друг с другом можно? Итог задачи это втиснуть как можно больше "каких нибудь фигур" ну т.е. например 18 слонов это более удачная позиция чем 10 слонов и 2 ладьи??? Или кол во слонов и ладей (ладьев :-)) должно быть одинаковым? |
2 spider-intruder
+1 :) я сам озадачен подобными вопросами. У меня на картинке ни один слон не может побить ни одну ладью и наоборот. Имхо, надо разместить как можно больше и тех и тех. fucking аффтар учебника *WALL* |
Узнай точно имеет ли право (по условию) тура бить туру ? Или слон слона
Если да тонапиздячб всю доску турами ИЛИ слонами и у ьтя будет ответ 64*0 Если нетто твой рисунок не верен так как тура бьет туру и ставить на 1 линии их нельзя Мне самому интересно - давай уточни условие и будем писать ))) (это вам не кавычки тулить ;)) |
Вот что еще заметил (ну это очевидно просто как вариант)
Нельзя размешать 1 фигуру возле другой ближе чем на 2 клетки...ну... т.е. Так ставить нельзя: Для туры: Y-тура X- Слон xxx xxxxyxxx xxx Для слона: х х xxx xyx xxx х х Может сначала разбить поле (иатрицу на подматрицы) 3*3 и как то от этого плясать ФОРМАТИРОВАНИЕ СДОХЛО! В асю стукни 988686ШЕСТЬ |
2spider-intruder естественно сумма фигур имеется ввиду, потому что не было введено понятия цены слона и ладьи.
по теме - не вижу ничего сложного. сложность правда будет не просто оценить, потому что сразу сказать сколько вариантов лишних отметает одна фигура не ясно. с другой стороны тк задача расчитана на первокурсников все должно сводиться к "бездумному" перебору, вот примерный псевдокод: Код:
int pole[8][8];put - ставим фигуру и обозначаем клетки, что под "боем", например -1. Obratnyi - если слон, то ладья и наоборот. -- 2spider-intruder :) это первый курс, не думайте что от вашего "колледжа" или чего там, от вас потребуют сильных мозгов. и еще, можно ставить ближе чем на две клетки, пример: *SSSSSSS ******** ******** ******** ******** ******** ******** *SSSSSSS S - слоны) |
Я так понимаю что это лаботаторная 4 задание 10 ;-)
Судя по всему речь идет о том что слоны могут бить слонов но не тур и наоборот. т.е. твоя картинка пока что верна. НУ ИМХО Конечно! http://forum.ixbt.com/topic.cgi?id=26:37553 - BlackLor (Pell) НЕ верно сказал! Так не делай. Твой ответ будет 8 слонов в первой строке и еше нсколько внизу!!! А у тебя надо посчитать максималку того и того... Надо мудрить с квадратами 3*3 кароче в асю ) |
2Zaco
Я свой универ уже благо закончил N лет назад и уже 2 работы поменял :-) Мне просто интересна задача :) >> "сложность правда будет не просто оценить, потому что сразу сказать сколько вариантов лишних отметает одна фигура не ясно" В том то и дело :) |
| Время: 19:53 |