问题描述 |
---|
最近罗少迷上了积木,但是他似乎遇到了难题,你能帮帮他吗? 有 n 堆积木,每堆积木上有个字母表示当前状态,你可以选择进行以下两种操作: 1.若字母为 U ,则可以堆加一个积木 2.若字母为 D ,则可以去除一个积木 假如罗少体力无限,求在进行无数次操作后,是否可能使得 n 堆积木包含 1 ~ n 个积木 |
输入描述 |
第一行是一个正整数 T ,表示多组案例( 1 <= T <= 100 ) 每组案例中 先是一个正整数 n ,表示n堆积木( 1 <= n <= 1000 ) 然后是 n 个正整数,代表每堆积木的个数( 1 <= x <= 1000 ) 然后是一串长度为 n 的字符串,代表每堆积木的状态 |
输出描述 |
若在进行无数次操作后,n 堆积木包含 1 ~ n 个积木,则输出 YES ;反之输出 NO 。 每次案例输出后换行。 |
样例输入复制样例 |
3 4 1 2 5 2 DUDU 4 2 2 2 2 DUDU 5 5 1 5 1 5 UDUUD |
样例输出 |
YES YES NO |
提示说明 |
罗少十分厉害,直接秒杀了第一个案例,他是这么做的 对 i = 2 进行操作:[ 1 , 3 , 5 , 2 ] 对 i = 3 进行操作:[ 1 , 3 , 4 , 2 ] 因为 n 堆积木包含了 1 ~ 4 因此输出 YES 。 |
相关 |