Яндекс.Алгоритм 2011: Финал |
---|
Закончено |
Мальчику Гене на день рождения подарили домино. Домино состоит из 28 различных костей 2 × 1 — на обеих клетках написано по цифре от 0 до 6.
0-0 0-1 0-2 0-3 0-4 0-5 0-6
1-1 1-2 1-3 1-4 1-5 1-6
2-2 2-3 2-4 2-5 2-6
3-3 3-4 3-5 3-6
4-4 4-5 4-6
5-5 5-6
6-6
Фигура, состоящая из всех 28 доминошек, называется волшебной, если ее можно целиком покрыть 14 непересекающимися квадратами 2 × 2 так, чтобы каждый квадрат содержал четыре одинаковые цифры. Каждый раз, когда Гена собирает волшебную фигуру, проявляются волшебные свойства набора — именинник выигрывает следующий контест. Геннадий заметил, что собирать уже когда-то собранную фигуру нельзя, иначе контест выигрывает кто-нибудь другой.
Гена выбрал клетчатое поле размером n × m и расположил на нем прямоугольные фишки размером 1 × 2 и 2 × 1. Каждая фишка занимает целиком ровно две соседние клетки поля. Эти фишки не перекрываются, но могут касаться. Всего фишек на поле ровно 28 — по числу доминошек в наборе. Теперь Гена хочет заменить каждую фишку на доминошку так, чтобы в результате получилась волшебная фигура. Различные фишки должны быть заменены на различные доминошки. Определите, в скольки контестах Геннадий может одержать победу при заданном расположении фишек? Также требуется найти один из возможных способов заменить фишки на доминошки, чтобы выиграть следующий раунд Codeforces.
В первой строке заданы два целых положительных числа n и m (1 ≤ n, m ≤ 30). В каждой из следующих n строк содержится по m символов — расположение фишек на поле. Точки обозначают пустые места, латинские буквы от «a» до «z» и «A», «B» — расположение фишек. Всего на поле ровно 28 фишек. Клетки, покрытые одной и той же фишкой, обозначены одной и той же буквой, разные фишки обозначены разными буквами. Гарантируется, что описание поля корректно.
Также гарантируется, что хотя бы одно решение существует.
В первой строке выведите количество способов заменить фишки на доминошки, чтобы получилась волшебная фигура — общее число контестов, которые можно выиграть, используя это расположение фишек. Следующие n строк по m символов должны содержать поле из точек и цифр от 0 до 6 — любое из возможных решений. Все доминошки должны быть различны.
8 8
.aabbcc.
.defghi.
kdefghij
klmnopqj
.lmnopq.
.rstuvw.
xrstuvwy
xzzAABBy
10080
.001122.
.001122.
33440055
33440055
.225566.
.225566.
66113344
66113344
Название |
---|