蓝桥杯1591: 蓝桥杯算法训练VIP-Entertaining Geodetics题解

一天到晚红烧的鱼 算法基础篇 51 0
挑战自我,勇攀编程高峰!全网最全C++题库,助您成为编程达人。
在此游戏中地图被分为了许多叫作Geo格的正方形方格,其中一些被涂上色,假设没有涂色的为透明色,地图中还有些Geo符号,它们样子像不同颜色的金字塔,每个Geo符号都坐落在Geo格上,每个Geo格上最多一个Geo符号,Geo符号可以被消除,为了更好地理解Geo符号在消除时发生了什么,这里引入把刚消除的Geo符号放入的队列,如果在重染色时遇到一个格子包含另一个Geo符号的情况则将Geo符号移出并放置在队列尾部。

在此游戏中地图被分为了许多叫作Geo格的正方形方格,其中一些被涂上色,假设没有涂色的为透明色。 地图中还有些Geo符号,它们样子像不同颜色的金字塔(包括透明Geo符号)。每个Geo符号都坐落在Geo格上,每个Geo格上最多一个Geo符号。 Geo符号可以被消除。为了更好地理解Geo符号在消除时发生了什么,这里引入把刚消除的Geo符号放入的队列。 从队列中取出Geo符号,观察包含Geo符号的Geo格的颜色,如果它不是透明的且颜色不同于Geo符号,则把所有这个颜色的Geo格重新涂为Geo符号的颜色(透明的Geo符号则为透明色)。重涂色是在一个无限大的区域从那个有符号的Geo格子开始螺旋状进行的。 换句话说,我们选择所有需要重涂色的方格找到它们在以有符号格为中心的无限螺旋表格中所对应的数字。此后按数字的增加顺序我们对其重染色。 如果在重染色时遇到一个格子包含另一个Geo符号的情况则将Geo符号移出并放置在队列尾部。 当重染色结束后Geo符号彻底消失,并且队列中下一个Geo符号(如果有)将取出,重复此操作直至队列为空。 为了更好地理解请看一个例子。 你知道所有格子的颜色、所有符号的位置。计算出队列里符号彻底消失时所造成的重染色次数。 推荐使用I64d输出。

蓝桥杯1591: 蓝桥杯算法训练VIP-Entertaining Geodetics题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
全网最全C++题库,助您挑战自我,突破极限,成为编程领域的佼佼者!

标签: 蓝桥杯1591: 蓝桥杯算法训练VIP-Entertaining Geodetics题解