您的任务是,在输入地图的情况下,根据比例将其缩小或放大。请注意,给出的规模是规模由放大了,所以0和1之间的规模将实际进行放大。
例如,给出以下(效果不佳)的地图:
..____....
../OOO\...
..\OO/\...
..........
比例因子为2,您应该首先将其分成2x2的部分:
.. | __ | __ | .. | ..
.. | /O | OO | \. | ..
----------------------
.. | \O | O/ | \. | ..
.. | .. | .. | .. | ..
在每个部分中找到最常见的字符:
.__..
.....
请注意,其中有一个不明确的部分:
__
OO
我选择在_
本节中使用,但使用O
也是完全可以接受的。
例如,如果给定比例因子4,则将其分成4x4的部分,如下所示:
..__ | __.. | ..
../O | OO\. | ..
..\O | O/\. | ..
.... | .... | ..
如您所知,地图不能完美地适合4x4的部分,但这很好,因为我们可以减小侧面部分的大小。
另外,每当需要剪裁地图时,都在底部或右侧剪裁。
生成的地图如下所示:
...
多么有趣的地图!
对于小于1的比例因子(例如0.5),当我们放大时,该过程会更简单。这张地图:
./O\.
.\O/.
缩放比例为0.5:
..//OO\\..
..//OO\\..
..\\OO//..
..\\OO//..
请注意,只要您的缩放系数小于1
,以下条件将始终成立:1/(zoom factor) % 2 == 0
。当它高于时1
,您唯一的保证就是它将是一个整数。如果为1
,则地图应保持不变。
例子:
4
/OO\
|OO|
|OO|
\OO/
O
0.25
ABCD
AAAABBBBCCCCDDDD
AAAABBBBCCCCDDDD
AAAABBBBCCCCDDDD
AAAABBBBCCCCDDDD
1
My zoom
should
not change
My zoom
should
not change
您也可以将地图作为换行符分隔的数组。
.
比O
。我们在右侧和底部切断。