#CF2096A. 奇妙的棍子

奇妙的棍子

问题描述

你自豪地拥有 nn 根棍子。每根棍子有一个从 11nn 的整数长度,所有棍子的长度互不相同

你想将这些棍子排成一行。有一个长度为 n1n - 1 的字符串 ss,描述了排列的要求。

具体来说,对于每个 ii11n1n - 1

  • si=<s_i = \texttt{<},则位置 i+1i + 1 的棍子长度必须小于它之前的所有棍子;
  • si=>s_i = \texttt{>},则位置 i+1i + 1 的棍子长度必须大于它之前的所有棍子。

请找出任意一个合法的棍子排列。可以证明解总是存在的。

输入格式

每个测试包含多个测试用例。第一行包含一个整数 tt (1t5001 \le t \le 500),表示测试用例的数量。接下来是各测试用例的描述。

每个测试用例的第一行包含一个整数 nn (2n1002 \le n \le 100) — 棍子的数量。

第二行包含一个长度为 n1n - 1 的字符串 ss,仅由字符 <\texttt{<}>\texttt{>} 组成 — 描述了排列的要求。

输出格式

对于每个测试用例,输出 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n (1ain1 \leq a_i \leq n,且 aia_i 互不相同) — 依次表示棍子的长度。如果存在多解,输出任意一个即可。

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

样例说明

在第一个测试用例中,排列要求如下:

  • s1=<s_1 = \texttt{<},意味着 a2a_2 小于 a1a_1

因此,一种可能的排列是 [2,1][2, 1]

在第二个测试用例中,排列要求如下:

  • s1=<s_1 = \texttt{<},意味着 a2a_2 小于 a1a_1
  • s2=<s_2 = \texttt{<},意味着 a3a_3 小于 a1a_1a2a_2
  • s3=>s_3 = \texttt{>},意味着 a4a_4 大于 a1a_1a2a_2a3a_3
  • s4=<s_4 = \texttt{<},意味着 a5a_5 小于 a1a_1a2a_2a3a_3a4a_4

因此,一种可能的排列是 [4,3,2,5,1][4, 3, 2, 5, 1]