1754 - 推箱子
描述

小爱正在体验一款推箱子游戏。游戏每一关由长度为n的字符“_”_(空格)和“@”@(箱子)组成初始状态,让当前所有箱子集中到一块即可过关。
在一个动作中,如果目标移动的位置存在并且是空的,你可以将任何箱子向左移动一个位置或向右移动一个位置。当前所有箱子一排好,即任意两个箱子之间都不存在空格,方可进入下一关。
此款游戏共有t关,确定通过每一关卡所需的最小移动次数。

输入

第一行:一个整数t,表示t个关卡。
接下来是2�2t行表示每一关初始情况。
一个整数n, 表示当前可用位置情况
一个长度为n的字符串,只包含“_”(空格)和()“@”$(箱子)

输出

输出共t行,每一行表示通过每一关卡所需的最小移动次数。

样例

输入

3
6
@@_@__
3
_@_
10
@_@___@_@@

输出

1
0
9
提示
  • 对于 30%30%的数据,1≤�≤10,1≤∑��≤1031t10,1ni≤1000

  • 对于 60%60%的数据,1≤�≤103,1≤∑��≤5∗1051t≤1000,1ni5∗100000

  • 对于 100%100%的数据,1≤�≤104,1≤∑��≤1061t≤10000,1ni≤1000000

样例解释:

@@@___ (最右边箱子向左移动1个单位)

_@_ (移动0次)

3 + 4 + 1 + 1 = 9 。左边第2个箱子向右移动3个单位、最左边箱子向右移动4个单位、 右边第2个箱子向左移动1个单位、最右边箱子向左移动1个单位


题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 6
通过次数 4