Construction
#1题目背景
在某颗不知名行星的海岛上,小 A 与他的机器人正在偷偷进行建设,试图建造一座城市,成为市长。
题目描述
整块海岛可以被分成 H 行 W 列,共 H*W 个正方形格子。 第 i 行第 j 列的格子位于 (i-1,j-1) 。 每个格子上都可以建造一座建筑。 每个格子都有一个等级,表示这个格子上的建筑的高度。 如果一个格子上没有建筑,那么那个格子的等级为 0 。
为了进行建设,小 A 可以进行以下操作。
- 建造:在某个格子建造一座高度为 k 的建筑。 在这栋建筑所在格的相邻格子中必须含有从 max(0,k-4) 到 (k-1) 的每个等级。
- 拆除:降低某座建筑的高度,或者干脆把它拆掉。
我们定义两个格子相邻当且仅当它们间的曼哈顿距离为 1 。
一座高度为 k 的建筑的繁荣度是 2^(k-1) 。 一座城市的繁荣度是这座城市所有建筑的繁荣度之和。
以下是一座城市的示例:
|
这块海岛的 H={{H}} , W={{W}}。各个颜色所对应的高度显示如下:
|
这座城市的繁荣度为{{score()}}。
现在,小 A 邀请你到这座海岛上共创辉煌。而按照他给你的条件,你只需要帮他计算这座城市的繁荣度即可。 当然,小 A 不会轻易地公开这座城市。因此,他对信息进行了加密。
输入输出格式
输入格式
一行,一个字符串 S ,表示小 A 加密后的城市信息。
输出格式
一行,一个整数 score ,表示这座城市的繁荣度。
输入输出样例
样例输入
{{expor_()}}
样例输出
{{score()}}
样例解释
岛上的城市里有以下建筑:
- 位于 ({{b.i}},{{b.j}}) ,高度为 {{b.k}} 的建筑,贡献了 {{Math.pow(2,b.k-1)}} 繁荣度。
岛上没有建筑。
总繁荣度为{{score()}}。