CF1837B.Comparison String

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

Comparison String

题目描述

给定一个长度为 nn 的字符串 ss,其中每个字符都是 < 或 >。

如果一个包含 n+1n+1 个元素的数组 aa 满足对于每个 1in1 \le i \le n,字符 sis_i 表示 aia_iai+1a_{i+1} 的比较结果,即:

  • 当且仅当 ai<ai+1a_i < a_{i+1} 时,sis_i 为 <;
  • 当且仅当 ai>ai+1a_i > a_{i+1} 时,sis_i 为 >。

例如,数组 [1,2,5,4,2][1, 2, 5, 4, 2] 与字符串 <<>> 兼容。还有其他数组也与该字符串兼容,例如 [13,37,42,37,13][13, 37, 42, 37, 13]

数组的代价定义为其中不同元素的个数。例如,[1,2,5,4,2][1, 2, 5, 4, 2] 的代价为 44[13,37,42,37,13][13, 37, 42, 37, 13] 的代价为 33

你需要计算所有与给定字符串 ss 兼容的数组中,最小的代价。

输入格式

第一行包含一个整数 tt1t5001 \le t \le 500),表示测试用例的数量。

每个测试用例包含两行:

  • 第一行包含一个整数 nn1n1001 \le n \le 100);
  • 第二行包含一个长度为 nn 的字符串 ss,每个字符都是 < 或 >。

输出格式

对于每个测试用例,输出一个整数,表示所有与给定字符串 ss 兼容的数组中最小的代价。

说明/提示

在示例的第一个测试用例中,数组可以为 [13,37,42,37,13][13, 37, 42, 37, 13]

在示例的第二个测试用例中,数组可以为 [42,37,13,37,42][42, 37, 13, 37, 42]

由 ChatGPT 4.1 翻译

样例

4
4
<<>>
4
>><<
5
>>>>>
7
<><><><
3
3
6
2

在线编程 IDE

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