监狱的每间牢房是一个不超过4×4的正方形,里面设有一些障碍,牢房里住着的犯人脾气都很大,只要两个犯人位于同一行或同一列即会发生冲突,但障碍物可以阻挡同行或同列犯人的冲突,问最多可放几个犯人而不会发生冲突。 如图2.15所示,左边表示初始牢房样,右边显示了四种摆放方案(犯人以实心圆形表示),当然,最后两个方案因为有冲突,所以是错误的。
有多组测试数据,每组数据第一行为一个整数N表示牢房大小。 随后N行N列为描述牢房初始状态的字符,其中“.”描述牢房,“X”表示障碍。 所有测试数据结束的标志为0。
每组数据输出占一行,即表示最多可放的犯人数。
4 .X.. .... XX.. .... 3 .X. X.X .X. 3 ... .XX .XX 0
5 5 2
竞赛基础算法