UVA447 Population Explosion
题目描述
你接到一个来自在月球基地工作的NASA的首席科学家的电话。他想建造各种各样的可以供人们居住的城市模型,但是他不知道这些模型怎样建造才能经受得住人口的增长。他就立刻叫身为大佬的你来解决这个问题,下面是他说的要求:
你的程序将会读入一组数据点代表城市里的居住区的位置来模拟城市的兴衰。每个城市都会遵守下面的规则:
1.每个有两到三个邻居的城市活过本年
2.邻居数量在四个或以上的城市都会因为人口问题消亡,而邻居数量小于2的城市会因为被孤立而消失。
3.当空白的位置有正好三个临近的城市时,就会有人在那里建立一个城市
注意:每个区域在最开始都会有0到8个邻居,(即东、南、西、北、东北、东南、西北、西南八个方向)
这个城市模型是个长宽分别为20的网格,左上角的坐标为1,1,右下角的坐标为20,20。
输入格式
首先是一个正整数,代表模型的个数。之后依次输入每个情况。每种情况之间会有一个空白行。
输入每种情况的第一个数是代表过去了几年,接下来每行两个数。是城市的坐标。
输出格式
对于每种情况,你的程序都要输出每年的城市分布。如果这个位置有城市,则输出O,没有就输出空格。每一年之间都会有一条分割线,在输出的最初和最后也有分割线。
### 最后
因为洛谷的样例会吃掉空格,所以我放了张样例的截图用来参考
