SP30735 ADASEA - Ada and Island

题目描述

有个瓢虫姑娘叫 Ada,她刚刚读完著名作家 Dobsonfly Daffoedil 写的一本书。书里讲述了一只名叫 Robinson 的蝉在海上飞行,途中发生了意外,掉落到一个岛屿上。幸运的是,岛屿足够大,这只蝉得以恢复,并在周五晚上之前回到了家——或许故事差不多是这样的。 当 Ada 读这本书的时候,渐渐地她进入了梦乡,并做了个梦。她想象着蝉是多么幸运,掉落到一个如此大的岛上。因为它同样可能会掉到一个小很多的岛上,甚至直接落入大海。 这个问题一直让 Ada 想不通,于是她请你帮助她计算一下,假设所有坐标上的概率均等,蝉掉落的岛屿的平均大小是多少。因为 Ada 对浮点数没兴趣,所以希望答案用一种“简洁”的形式来表示。 在这里,我们将相邻边界相连的 `#` 字符视作一个整体的岛屿。

输入格式

第一行包含一个整数 **T**,表示测试用例的数量。 每个测试用例的开头是两个整数 **N, M**,代表地图的行数和列数。 接下来是 **N** 行,每行有 **M** 个字符。这些字符要么是 `#`(表示岛屿),要么是 `~`(表示海洋)。

输出格式

对于每个测试用例,输出岛屿的期望大小,用 **p / q** 的形式表示,其中 **p** 和 **q** 互质。如果 **p / q** 是一个整数,则输出整数即可。 **本翻译由 AI 自动生成**