#P1016. [第20届福州市机器人竞赛C++编程挑战赛 初中组] 彩球排序

[第20届福州市机器人竞赛C++编程挑战赛 初中组] 彩球排序

题目描述

实验室里有 nn 个彩球,每个球要么是红色球(用 R 表示),要么是蓝色球(用 B 表示)。每个球都有一个精确的重量值。现在这些球被随意地放在一个容器中,需要将它们按颜色分开,并且对每种颜色的球按照重量从小到大排序。

输入格式

输入包含多组数据。

第一行,包含一个正整数 TT,代表数据组数。

接下来是 TT 组数据,每组数据的格式如下:

每组数据包含 33 行:

第一行包含一个整数 nn,代表彩球的总数量;

第二行包含 nn 个字符(R 或 B),表示每个球的颜色,中间没有空格;

第三行包含 nn 个整数,表示对应球的重量。

输出格式

输出包含 2T2T 行,每组数据对应 22 行输出:

第一行:按重量从小到大排列的所有红色球的重量

第二行:按重量从小到大排列的所有蓝色球的重量

输入输出样例

1
5
BRBRB
120 130 140 150 160
130 150
120 140 160

说明/提示

2n20002 ≤ n ≤ 2000T5T ≤ 5,且至少有一个红色球和一个蓝色球;保证所有重量值在 [1,3000][1, 3000] 范围内。