#752. 渐行渐远
渐行渐远
题目描述
河面可用一条细长的格子带来表示,某些格子里有河流的激流(向左或向右),有些格子没有流(平静)。给定字符串 描述河带上各格子的情况:
- 字符
<表示该格有向左的水流; - 字符
>表示该格有向右的水流; - 字符
*表示该格没有水流(需要自己划船)。
小明先选择一个格子作为出发位置,然后开始沿河移动:
- 若当前格子有水流(
<或>),则他会被水流带到相邻的格子(方向由水流决定)。若相邻格子不存在(例如在格子 上且是<,或在格子 上且是>),则会到达岸边,航行结束。移动耗时 分钟。 - 若当前格子无水流(
*),则 小明 可选择向左划或向右划,移动到相邻格子;若选择的方向上没有相邻格子,则到达岸边,航行结束。划船耗时 分钟。
小明希望尽可能长时间在河上航行。若存在能使其永远不靠岸的策略,输出 ;否则输出他最多能在河上航行的分钟数(即在到岸前可以走的最多步数)。
输入格式
- 第一行包含一个整数 ,表示测试用例数量。
- 接下来每个测试用例为一行,包含一个字符串 (),只由字符
<、>、*组成。
数据保证所有测试用例中字符串长度之和不超过 。
输出格式
对每个测试用例输出一行:
- 若小明能无限航行,输出 ;
- 否则输出他最多可以航行的分钟数。
样例输入
4
*****
<<<>
>*<
*
样例输出
-1
3
-1
1