14096: Збалансовані підмножини-Balanced Subsets-USACO2021OpenPlatinum
Пасовище Фермера Джона може бути представлене як величезна 2D-гратка комірок, позначених впорядкованими парами \((i,j)\) для всіх \(1\le i\le N\), \(1\le j\le N\) (\(1\le N\le 150\)). Деякі з цих комірок містять траву.
Непорожня підмножина комірок гратки називається "збалансованою", якщо виконуються такі умови:
- Всі комірки підмножини містять траву.
- Підмножина 4-зв'язна. Іншими словами, існує шлях з будь-якої комірки підмножини в будь-яку іншу комірку підмножини такий, що дві послідовні комірки шляху є горизонтальними або вертикальними.
- Якщо комірки \((x_1,y)\) \((x_2,y)\) (\(x_1\le x_2\)) є частина підмножини, то всі комірки \((x,y)\) з \(x_1\le x\le x_2\) також частина підмножини.
- Якщо комірки \((x,y_1)\) and \((x,y_2)\) (\(y_1\le y_2\)) є частина підмножини, то всі комірки \((x,y)\) with \(y_1\le y\le y_2\) також частина підмножини.
Порахуйте кількість збалансованих підмножин за модулем \(10^9+7\).
Формат вхідних даних
Перший рядок містить число \(N\).
Кожен наступний \(N\) рядків містить рядок з \(N\) символів. \(j\)-ий символ рядка \(i\) зверху дорівнює G якщо комірка \((i,j)\) містить траву або символ . в іншому випадку.
Формат вихідних даних
Кількість збалансованих підмножин за модулем \(10^9+7\).
Приклад вхідних даних
2
GG
GG
Приклад вихідних даних
13
Для цього тесту всі 4-зв'язні підмножини збалансовані.
G. .G .. .. GG .G .. G. GG .G G. GG GG .., .., G., .G, .., .G, GG, G., G., GG, GG, .G, GG
Приклад вхідних даних
4
GGGG
GGGG
GG.G
GGGG
Приклад вихідних даних
642
Нижче наведений приклад підмножини, який задовольняє другу умову (4-зв'язності), але не задовольняє третій умові:
GG. .G.. GG. ....
ОЦІНЮВАННЯ:
- У тестах 1-4 \(N\le 4\).
- У тестах 5-10 \(N\le 20\).
- У тестах 11-20 немає додаткових обмежень.
Коментарі