数字替换魔法
题目描述
乐柠兔正在学习一种神奇的数字替换魔法。
他手里有一个由 个整数组成的数组: 以及一个长度同为 的字符串 ,由小写英文字母组成。
乐柠兔可以通过如下过程,将数组 逐步变换为一个由字母组成的数组,最终合并成一个字符串:
在数组中 仍然存在数字 的情况下,重复执行以下操作:
- 从数组中选择一个数字 ;
- 再选择一个小写英文字母 ;
- 将数组中 所有等于 的位置 全部替换为字母 。
例如,若初始数组为:
可以进行如下变换:
- 选择数字 ,字母
c,数组变为[c,3,c,4,1] - 选择数字 ,字母
a,数组变为[c,a,c,4,1] - 选择数字 ,字母
t,数组变为[c,a,c,t,1] - 选择数字 ,字母
a,数组变为[c,a,c,t,a]
最终得到字符串 "cacta"。
现在,给定整数数组 和字符串 ,请你判断:
是否 存在一种替换顺序,可以通过上述过程,将数组 变换得到字符串 ?
输入格式
第一行输入一个整数 (),表示测试用例的数量。
接下来是 组测试数据,每组格式如下:
- 第一行输入一个整数 (),表示数组 和字符串 的长度;
- 第二行输入 个整数: ,表示数组 的元素;
- 第三行输入一个长度为 的字符串 ,仅由小写英文字母组成。
输出格式
对于每个测试用例,输出一行:
如果可以通过合法的替换操作得到字符串 ,输出:YES
否则输出:NO
样例
样例输入
3
5
1 2 3 2 1
aaaaa
6
1 10 2 9 3 8
azzfdb
7
1 2 3 4 1 1 2
abababb
样例输出
YES
YES
NO
样例说明
- 在第一个样例中,可以将所有数字依次替换为字母
a。
数据范围与约定
对于所有测试数据,保证:
- 字符串 仅包含小写英文字母
相关
在下列比赛中:
京公网安备11010802045784号