Задача №1636. Счет игры
Задана квадратная доска размером \(N\)×\(N\). Известно, что на ней играли в интеллектуальную игру, вследствие чего клеточки оказались окрашенными в белый, чёрный и зеленый цвета. Раскраска клеточек может быть разной (ведь это интеллектуальная игра!), но все клеточки самого верхнего ряда белые, а самого нижнего – чёрные.
Чтобы выявить победителя, необходимо подсчитать количество клеточек в белой и количество клеточек в черной области. Белая область – это как можно большая (по количеству клеточек) часть квадрата, которая ограничена сверху верхней стороной квадрата, а с других сторон – непрерывной границей, которая проходит только через белые клеточки и никакая клеточка не встречается больше одного раза. Белая граница представляет собой последовательность белых соседних клеточек (соседние клеточки имеют общую сторону). Концами этой границы должны быть левая верхняя и правая верхняя клеточки квадрата.
Определение чёрной области выглядит аналогично: она ограничена снизу нижней стороной квадрата, с других сторон – чёрной границей, которая проходит только через чёрные клеточки, а концы этой границы – левая нижняя и правая нижняя клеточки квадрата.
Напишите программу, которая по раскраске квадрата находит количество клеточек в белой и чёрной областях.
Первая строка входного файла содержит единственное целое число \(N\) – размер квадрата (5≤\(N\)≤250). Каждая из следующих \(N\) строк содержит по \(N\) символов “G”, “W” или “B” (записанных без пробелов), которые обозначают зелёный, белый и чёрный цвет, соответственно.
Первая строка выходного файла должна содержать количество клеточек в белой области, а вторая строка – количество клеточек в чёрной области.
7 WWWWWWW WGWWBWG WWWWGWW BBGWWWB GWBBWGB BBBBGBB BBBBBBB
22 15