A24217.Drogon
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
时间限制:1000ms
空间限制:128mb
Yuilice拔出了魔剑,骑着心爱的骏马"托雷特"在幽影之地的平原上漫无目的奔驰着,一道巨大的黑影一瞬间笼罩了整片平原,Yuilice抬头一看。
一头巨大的黑龙正瞪着它硕大的眼珠凝视着Yuilice,嘴边的尖牙上下摩擦着。
(图片来源于网络)
巨龙自称为飞龙"尖牙",他已经许久没有见到人类了,于是他决定一口火烧掉Yuilice。但是Yuilice手里的魔剑亚托克斯让多雷特感到忌惮,于是他决定与Yuilice玩一个小游戏。
飞龙尖牙口吐魔术火焰,一团团火焰悬浮在了地面上散发着恐怖的热量。
这些火球如果放置不管,会发生巨大的爆炸,将Yuilice炸飞,但是如果能让他们并成一排,那么Yuilice就可以挥动魔剑亚托克斯把他们全部砍碎。
我们可以用一个长度为n的字符串来表示当时的情景,字符串由.
(空地)与*
(火球)组成,Yuilice可以施展移动魔法将一个火球向左或者向右移动一格。只要所有火球排成一排,Yuilice就可以全部砍碎。
注意!排成一排的定义被视为任何火球之间都不存在着空地!
例如,现在有着一个长度n=6的字符串,并且表示为**.*..
,那么可能出现以下场景:
- 位于 4 位置的火球向右移动,字符串的状态为
**..*.
- 在 2 位置的火球向右移动,字符串的状态为:
*.*.*.
- 位于 1 位置的火球向右移动,字符串的状态为:
.**.*.
- 位于 3 位置的火球向右移动,字符串的状态为
.*.**.
- 在 2 位置的火球向右移动,字符串的状态为:
..***.
- 火球排为一列,Yuilice挥动魔剑砍碎火球,成功幸存。
现在Yuilice为了保存体力对付尖牙,需要使用最少次数的移动魔法保存体力,那么请问他最少需要使用几次移动魔法呢?
输入格式
第一行包含一个整数 n ( 1≤n≤106 )。
第二行包含一个长度为 n 的字符串,由字符.
(空地)和*
(火球)组成--即字符串描述。
输出格式
输出排成一排所需的最少移动次数。
输入输出样例
输入#1
6 **.*..
输出#1
1
输入#2
10 *.*...*.**
输出#2
9
输入#3
3 .*.
输出#3
0
输入#4
3 ...
输出#4
0
说明/提示
对于40%的数据,1≤n≤103
对于100%的数据,1≤n≤106