Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Шахматная Задача

Автор: Человек 28.02.2005 23:27

Задача:
Двумерный массив 8x8 представляет собой шахматную дос-
ку: 0 - пустое поле, положительные числа - белые фигуры (1 -
король, 2 - королева, 3 - тура, 4 - офицер, 5 - конь, 6 - пеш-
ка), отрицательные числа - черные фигуры (-1 - король и т.д.).Требуется ответить на вопрос, является ли позиция
возможной с точки зрения расположения пешек. (Не может быть
пешек на 1-й и 8-й горизонталях, и, например, у белых не может
быть одновременно пешек на a2, a3 и b2.)
Помогите пожалуйста. sad.gif

Автор: Digitalator 1.03.2005 0:17

1. не королева, а Ферзь
2. не тура, а Ладья
3. не Офицер, а Слон
4. Правила игры в шахматы знаешь?
5. Если на вопрос 4 ответ положительный, то не вижу проблем
6. Если нв вопрос 4 ответ отрицательный, то вы выбрали не тот форум
7. Конкретные вопросы по алгоритму имеются?

Автор: Altair 1.03.2005 0:59

Пешки на поле.
Предлагаю следующие правила, которые только что придумал (возможно я где-то что-то не учел)

Кажется это все возможные правила, для существования комбинации белых пешек на поле.
Исходя их них можно построить алгоритм проверки по заданным условиям.

P.S.
Смотря что понимать под словами "возможная комбинация", ведь подъигрывать в шахматах
никто не собирается, и некоторые ситуации (4 пешки в ряд например) явно абсурдны,
но с формальной точки зрения верны, и машина на вопрос верна ли конфигурация, должна будет
ответить положительно.

Автор: APAL 1.03.2005 1:42

Вообще-то в один ряд можно запихнуть до 6-ти (включительно) пешек...
в крайний ряд...

Автор: Altair 1.03.2005 1:45

нельзя!!!
Они туда физически не влезут - потому что пешка может перемещать только поеданием другой фигуры, то есть ЧЕРЕЗ ряд.

Автор: volvo 1.03.2005 1:49

Oleg_Z, можно... в крайний ряд как раз 6 пешек можно поставить...

Автор: APAL 1.03.2005 1:53

Цитата(Oleg_Z @ 28.02.05 21:45)
нельзя!!!
Они туда физически не влезут - потому что пешка может перемещать только поеданием другой фигуры, то есть ЧЕРЕЗ ряд.

Все правильно!
Но 6 пешек в ряд - можно.

Автор: Altair 1.03.2005 1:56

да, я перепутал с шашками smile.gif

Автор: Digitalator 1.03.2005 2:35

Не уверен, но помойму можно сделать так:

найти все треугольники (условно их так назовоем) основание которых строится на 1-й (или 8-й) горизонтали, а высота равна основанию. Если для каждого из этих треугольников к-во пешек(цвет зависит от горизонтали, на которой строимм) в нем не больше длины основания (измеряется в клетках) то расположение возможно.

+++ вражеских фигур 20 штук, а чтоб 6 пешек с краю выстроить нужно сожрать 1+2+3+4+5=15штук smile.gif а если на доске вражин 6 или более, то такая растановка невозможна. Т.е. помимо логически правильной растановки, нужно проверять еще соответсвие к-ва необходимых поеданий.

Автор: Человек 2.03.2005 4:14

что вы понимаете под словосочетанием"крайний ряд"?
И условия, которые написал OLEG Z, все или нет? А как же быть с условием, что пешки не могут стоять на полях a2, a3 и b2 одновременно?

Автор: Altair 2.03.2005 19:50

Цитата
крайний ряд

ряд A и H
Цитата
А как же быть с условием, что пешки не могут стоять на полях a2, a3 и b2 одновременно?

читай мое 4 правило...

p.s. вроде это все...

Автор: Человек 3.03.2005 0:37

А мне кажется что во всех рядах может стоять 6 пешек, возьмем например ряд с: пешка на позици с2 стоит изначально, пешка с d2рубит соперника и встает на с3, пешка с позиции е4 рубит две вражеские фигуры и встает на с4, пешка f2 рубит 3 фигуры и встает на с5, пешка с g2 рубит 4 враж. фигуры и встает на с6б а пешка с h2 рубит 5 фигур и встает на с7 и вот мы имеем что 6 пешек стоят в одном ряду. И про четвертый пункт OLEG Z если пешка с d2 рубит и переходит на с3 а пешка с е2 рубит и переходит на d3 а пешка c f2 рубит и встает на е3, то помоему этот пункт не правильный. Как мне кажется пешки не могут стоять на а2а3b2одновременно, h2h3g2одновременно, a7b7a6одновременно, h7g7h6одновременно и плюс два первых пункта OLEG Z.