CF2169B.Drifting Away

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Drifting Away

题目描述

在 Monocarp 的房子前有一条河流,可以用一条由若干格子组成的带状区域来表示。在一些格子中有强水流,而在另外一些格子中没有水流。这可以用一个字符串 ss 来表示,包含以下字符:

  • 小于号('<'):表示水流向左;
  • 大于号('>'):表示水流向右;
  • 星号('*'):表示无水流。

一开始,Monocarp 可以选择河流上的任意一个格子作为他的起点。

如果 Monocarp 所在的格子有水流,则他会被水流带到相邻的下一个格子(水流方向指向的格子)。如果没有相邻的格子(例如,在第 11 个格子有左向水流,或者在第 nn 个格子有右向水流),Monocarp 就会被冲到岸上。每移动一次耗时一分钟。

如果 Monocarp 所在的格子没有水流,他可以选择划向左边或右边的相邻格子。如果所选方向没有相邻格子,他就会上岸。每次移动同样耗时一分钟。

Monocarp 想要在河流上航行尽可能久。如果他可以无限航行,请输出 1-1;否则,输出 Monocarp 在冲上岸前最多能在河流上航行的时间。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例仅有一行,包含一个字符串 ss1s3×1051 \le |s| \le 3 \times 10^5),仅包含字符 '<'(左流)、'>'(右流)、'*'(无流)。它们的 ASCII 码分别是 606062624242

额外限制:所有测试用例中所有字符串 ss 的总长度不超过 3×1053 \times 10^5

输出格式

对于每个测试用例,输出一个整数:

  • 如果 Monocarp 可以无限航行,输出 1-1
  • 否则,输出 Monocarp 最多能在河流上航行的时间。

说明/提示

由 ChatGPT 5 翻译

样例

4
*****
<<<>
>*<
*
-1
3
-1
1

在线编程 IDE

建议全屏模式获得最佳体验