eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Домино

Домино

Дора любит играть в домино. Она берет таблицу n * m, отмечает некоторые ячейки как занятые, а затем пытается заполнить все незанятые ячейки 2 * 1 доминошками.

prb11323.gif

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

Помогите Дэни посчитать, сколькими способами он может выбрать эти две клетки. Так как Дани умеет считать только до одного миллиона, если это количество способов равно x, то выведите min(x, 106).

Входные данные

Первая строка содержит целые числа n и m (1n, m1000). Следующие n строк содержат по m символов в каждой - начальное состояние таблицы. Символ "#" соответствует занятой ячейке, а символ "." - пустой ячейке. Гарантируется, что имеется как минимум две незанятые клетки и что все свободные клетки можно заполнить костями домино.

Выходные данные

Пусть x - количество способов, которыми Дэни может пометить две клетки так, что все незанятые клетки нельзя будет заполнить костями домино.

Выведите одно целое число min(x, 106).

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
3 6
...#..
......
#...##
Выходные данные #1
52
Входные данные #2
2 2
..
..
Выходные данные #2
2
Входные данные #3
2 2
#.
#.
Выходные данные #3
0
Источник 2022 ICPC, NERC, Декабрь 7