Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль / okulov / okulov / chapter2.DOC
Скачиваний:
95
Добавлен:
10.12.2013
Размер:
7.1 Mб
Скачать
  • Зависит ли значение cnt от выбора первого хода? Установить экспериментальным путем.

  • Как логика выбора очередного хода влияет на результат игры? Исследовать. Например, выбрать тот элемент А (соответствующий элемент В должен быть равен true), в котором количество несовпадающих цифр максимально.

    2.4. Задачи

    1. Какое наименьшее число ферзей можно расставить на доске так, чтобы они держали под боем все ее свободные поля? Модификация задачи. Найти расстановку ферзей, которая одновременно решает задачу для досок 9*9, 10*10 и 11*11.

    2. Расставить на доске N*N(N£12) N ферзей так, чтобы наибольшее число ее полей оказалось вне боя ферзей.

    3. Расставить на доске как можно больше ферзей так, чтобы при снятии любого из них появлялось ровно одно неатакованное поле.

    4. За какое наименьшее число ходов ферзь может обойти все поля доски 8*8?

    5. Расставить на доске 8*8 максимальное число ферзей так, чтобы каждый из них нападал ровно на p(p£2) ферзей. (Ответ. При p=1 десять, а при p=2 четырнадцать.)

    6. Задача о коне Аттилы (“Трава не растет там, где ступил мой конь!”). На шахматной доске стоят белый конь и черный король. Некоторые поля доски считаются “горящими”. Конь должен дойти до неприятельского короля, повергнуть его и вернуться на исходное место. При этом ему запрещено становиться как на горящие поля, так и на поля, которые уже пройдены.

    7. Магараджа - это фигура, которая объединяет в себе ходы коня и ферзя. Для доски 10*10 найти способ расстановки 10 мирных магараджей.

    8. Пронумеровать позиции в матрице(таблице) размером 5*5 следующим образом. Если номер i (1£i£25) соответствует позиции с координатами (x,y), вычисляемыми по одному из следующих правил:

  • (z,w)=(x±3,y);

  • (z,w)=(x,y±3);

  • (z,w)=(x±2,y±2).

    Требуется:

  • написать программу, которая последовательно нумерует позиции матрицы 5*5 при заданных координатах позиции, в которой поставлен номер 1 (результаты должны быть представлены в виде заполненной матрицы);

  • вычислить число всех возможных расстановок номеров для всех начальных позиций, расположенных в правом верхнем треугольнике матрицы, включая ее главную диагональ.

  1. Прямоугольники. Nпрямоугольников различных цветов располагаются на белом прямоугольном листе бумаги, имеющем размерыA см в ширину иBсм в длину. Стороны прямоугольников параллельны краям листа, а сами прямоугольники не выходят за пределы листа. В результате образуются различные одноцветные фигуры. Если два прямоугольника одного цвета имеют хотя бы одну общую точку, то они являются частями одной фигуры. Задача состоит в вычислении площади каждой из видимых фигур для каждого цвета.A иB- четные положительные целые числа, не превосходящие 30.

Начало системы координат находится в центре листа, а оси параллельны краям листа.

Наборы данных для нескольких тестов записаны во входном файле следующим образом. A, B иN находятся в первой строке каждого набора данных и разделены пробелом. В каждой из следующихNстрок находятся:

  • целочисленные координаты точки, в которую помещена левая нижняя вершина прямоугольника;

  • за ними следуют целочисленные координаты точки, в которую помещена правая верхняя вершина прямоугольника;

  • затем следует цвет прямоугольника, заданный целым числом от 1 до 64, белый цвет представлен числом 1.

Порядок строк соответствует порядку, в котором прямоугольники размещались на листе от первого до последнего. Наборы данных для различных тестов разделены пустой строкой.

Необходимо написать программу, которая вычисляет площадь каждой одноцветной фигуры.

  1. Замок. На рисунке изображен план замка.

Написать программу, которая определяет:

  • количество комнат в замке;

  • площадь наибольшей комнаты;

  • какую стену в замке следует удалить, чтобы получить комнату наибольшей площади.

    Замок условно разделен на m*nклеток (m£50, n£50).Каждая такая клетка может иметь от 0 до 4 стен.

    План замка содержится во входном файле в виде последовательности чисел, по одному числу, характеризующему каждую клетку.

  • В начале файла расположено число клеток в направлении с севера на юг и число клеток в направлении с запада на восток.

  • В последующих строках каждая клетка описывается числом p (0£p£15). Это число является суммой следующих чисел: 1 (если клетка имеет западную стену), 2 (северную), 4 (восточную), 8 (южную). Внутренняя стена считается принадлежащей обеим клеткам. Например, южная стена в клетке (1,1) также является северной стеной в клетке (2,1).

  • Замок содержит по крайней мере две комнаты.

Пример.

4

7

11 6 11 6 3 10 6

7 9 6 13 5 15 5

1 10 12 7 13 7 5

13 11 10 8 10 12 13

В выходном файле должны быть три строки. В первой строке содержится число комнат, во второй - площадь наибольшей комнаты (измеряется количеством клеток). Третья строка содержит три числа, определяющих удаляемую стену: номер строки, номер столбца клетки, содержащей удаляемую стену и положение этой стены в клетке (N - север,W - запад,S - юг,E- восток).

11. Структура некоторых биологических объектов представляется последовательностью их составляющих. Эти составляющие обозначаются заглавными буквами. Биологи интересуются разложением длинной последовательности в более короткие последовательности. Эти короткие последовательности называются примитивами. Говорят, что последовательность Sможет быть образована из данного множества примитивовP(их количество1£N£100),если существуетnпримитивовp1,...,pn вP, таких, что их конкатенация (сцепление)p1...pn равняетсяS.При конкатенации примитивыp1,...,pn (их длины не превышают 20 символов) записываются последовательно без разделительных пробелов. Некоторые примитивы могут встречаться в конкатенации более одного раза, и не обязательно все примитивы должны быть использованы.

Например, последовательность АВАВАСАВААВ может быть образована из множества примитивов {А, АВ, ВА, СА, ВВС}.

Первые Kсимволов строкиS называют префиксом строкиS длиныK.

Написать программу, которая для заданных множества примитивов P и последовательностиT (ее длина не меньше 1 и не больше 500000) определяет длину максимального префикса последовательности T, который может быть образован из множества примитивовP.

Литература

  1. Ахо А.,Хопкрофт Д., Ульман Д. Построение и анализ вычислительных алгоритмов.-М.:Мир,1979.

  2. Гэри М., Джонсон Д. Вычислительные алгоритмы и труднорешаемые задачи.-М.:Мир, 1982.

  3. Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы: Теория и практика.-М.:Мир,1980.

4. Суханов А.А. Олимпиадные задачи. Неопубликованный материал. - СПб.: 1996.

83

Соседние файлы в папке okulov