求高手解决这个算法
测绘人员将卫星拍摄的地面遥感图像转换成了数值方阵。方阵中的每个元素都是正整数,代表某单位面积土地上的植物类型。元素为质数时对应土地上的植物为稀有类型,元素为合数时对应土地上的植物为常见类型。为保护稀有植物,林业局雇佣你编写程序分析上述数值方阵,从中检测出稀有植物区和非稀有植物区。划分区域的原则是:如果数值方阵中的两个元素同为质数或同为合数,而且它们共行相邻或共列相邻,则这两个元素同属一个区域。
[bold]输入:[/bold][underline]输入文件中包含若干待分析的数值方阵。方阵的每一行占据文件的每一行,同一行的方阵元素之间用空格分隔。每个数值方阵的前一行包含且仅包含一个正整数,代表该方阵的行数。文件的结尾行包含且仅包含一个负整数。数值方阵的行数不会超过100[/underline][underline],元素的值不会大于100000000[/underline][underline]。[/underline]
[bold]输出:[/bold]针对输入文件中的每一个数值方阵分别输出如下信息:
1 该数值方阵的序号(按照其在输入文件中的位置从1计起)。格式是:“Area n:” (n代表方阵序号)
2 稀有植物区域的数目和每个稀有植物区域的面积(按升序排列)。格式是:
“M unique vegetation regions: a1 a2 ...” (M为区域数目,a1, a2,...等代表每个区域的面积)
3 非稀有植物区域的数目。格式是:“K non-unique vegetation regions” (K为区域数目)
具体的输出格式请参考示例。
示例
输入:
3
2 4 9
17 6 37
29 8 11
4
2 3 12 15
5 7 21 33
4 6 11 17
8 9 13 29
-1
输出:
Area 1:
2 unique vegetation regions: 2 3
1 non-unique vegetation regions
Area 2:
2 unique vegetation regions: 4 4
2 non-unique vegetation regions