«Волшебные игральные кубики»

Представьте себе, что у меня есть 3 кубика. Обычные шестигранные кубики, на каждой грани которых написаны некоторые числа. Я предлагаю своему партнеру выбрать любой из этих кубиков, который ему больше понравился, а сам беру себе другой кубик из двух оставшихся. Далее мы начинаем играть: каждый бросает свой кубик, и выигрывает тот, на чьем кубике выпадет большее число. Оказывается, что при большом числе бросаний в среднем я буду в выигрыше, то есть я буду чаще выигрывать у партнера. Даже если партнер поменяет кубик, например, возьмет кубик, которым играл я, то он все равно будет проигрывать, если я воспользуюсь правом выбрать себе кубик из двух оставшихся.

Может ли такое быть? Оказывается, может. Весь секрет в числах, которые расставлены на гранях кубиков.

Пусть на гранях трех кубиков расставлены числа так:

первый кубик - 1, 1, 4, 4, 7, 7,

второй кубик – 2, 2, 5, 5, 5, 5,

третий кубик – 3, 3, 3, 3, 6, 6.

Нетрудно проверить, что второй кубик будет выигрывать у первого в среднем в пяти случаях из девяти, а проигрывать только в 4-х случаях из 9-и. Третий кубик будет выигрывать у второго также в 5-и случаях из 9-и. А первый будет выигрывать у третьего также в 5-и случаях из 9-и. (Правильнее сказать: в 20-и случаях из 36-и, так как вариантов выпадения граней двух кубиков равно 6х6. Но это то же самое, так как дроби можно сокращать.)

Ваша задача заключается в том, чтобы, используя наименьшее количество различных чисел, найти их расстановку (конечно, с повторениями) на гранях трех кубиков такую, чтобы кубики обладали описанным выше «волшебным» свойством.

НЕ нашли? Не то? Что вы ищете?

Исходные данные. Входных данных нет.

Результат. Предположим, что невозможно найти указанную расстановку чисел, используя меньше 7-и различных чисел, тогда результат может быть представлен одной из возможных найденных расстановок в следующем виде:

(1, 1, 4, 4, 7, 7) <

(2, 2, 5, 5, 5, 5) <

(3, 3, 3, 3, 6, 6) <

(Здесь знак < или > должен указывать хуже или лучше кубик следующего кубика по циклу).

Известно, что с меньшим количеством различных чисел такие расстановки существуют.

«Роман в томах»

Необходимо издать роман, состоящий из N глав, в M томах ( 1≤ M ≤ N ). Известно число страниц в каждой из N глав. Каждая глава должна быть целиком помещена в одном из томов (делить главу между томами нельзя). Главы в томах должны идти строго в заданном порядке (изменять порядок глав нельзя).

Требуется разместить главы в M томах так, чтобы самый толстый том имел наименьшее число страниц из возможных.

Исходные данные.

В первой строке входного файла (стандартный ввод) задано через пробел два числа N и M.

Во второй строке задано N чисел: a1, a2, . . . , aN (разделены пробелами), где ai - число страниц в i – ой главе.

Результат.

Выдать M чисел: b1, b2, . . . , bM (через запятую), где bk - число страниц в k – ом томе.

Пример 1. Для следующих исходных данных:

15 2

10 15 20 10 15 20 10 15 20 10 15 20 10 15 20

результат должен быть таким:

115, 110

Пример 2. Для следующих исходных данных:

9 4

10 10 10 10 100 10 10 10 10

результат может быть таким:

40, 100, 20, 20

«Упрощенный Японский кроссворд

Рассмотрим задачу, известную как «японский кроссворд» в упрощенной форме.

Задан клетчатый прямоугольник размера N*M (N – число строк, M – число столбцов). Некоторые его клетки закрашены в черный цвет (пример на рис.).

3

4

5

6

7

6

5

3

1

1

3

5

7

9

8

7

Рис.

Подсчитаем для каждой строки и для каждого столбца число закрашенных клеток. Получим набор чисел для строк и набор чисел для столбцов. (Эти числа показаны на рис. слева от прямоугольника для строк и сверху – для столбцов.)

Задача состоит в том, чтобы по этим наборам чисел восстановить фигуру, изображенную в прямоугольнике закрашенными клетками.

Упрощение задачи в нашем случае заключается в том, что мы будем рассматривать только такие фигуры, у которых в каждой строке и в каждом столбце закрашенные клетки идут подряд, без разрывов. (Фигура на рис. удовлетворяет этому условию.)

Исходные данные.

В первой строке входного файла (стандартный ввод) задано через пробел два числа N и M.

Во второй строке задано N чисел: a1, a2, . . . , aN, где ai - число закрашенных подряд клеток в i – ой строке и 0 ≤ ai ≤ M.

В третьей строке задано M чисел: b1, b2, . . . , bM, где bk - число закрашенных подряд клеток в k – ом столбце и 0 ≤ bk ≤ N.

Результат. Распечатать в текстовом режиме прямоугольник размера N*M в рамке с изображением найденной фигуры, при помощи символа █ (код 219) для закрашенных клеток и пробелов для пустых клеток прямоугольника. (Рамку можно задать любыми символами – звездочками, черточками).

Если решений несколько, достаточно вывести одно, удовлетворяющее условию задачи. Если решений не существует, вывести сообщение: DOES NOT EXIST.

Пример 1. Для следующих исходных данных:

7 9

1

результат может быть таким:

╔═════════╗

███

Подпись:█████

███████

█████████

████████

███████

╚═════════╝