CF1976A.Verify Password

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

Verify Password

题目描述

Monocarp 正在制作他的新网站,目前的挑战是如何让用户选择强密码。

Monocarp 决定强密码应满足以下条件:

  • 密码只能由小写拉丁字母和数字组成;
  • 字母后面不能有数字(因此,每个字母后面要么有另一个字母,要么这个密码字符串结束);
  • 所有数字应按非递减顺序排序;
  • 所有字母应按非递减顺序排序。

请注意,密码可以只有字母或数字。

Monocarp 成功地实现了识别第一个条件,但他在其余条件上很吃力。你能帮他验证密码吗?

输入格式

本题目为多测。

第一行包含一个整数 t t ( 1t1000 1 \le t \le 1000 ) ,为子测试点的数量。

每个子测试点的第一行包含一个整数 n n ( 1n20 1 \le n \le 20 ) ,为密码的长度。

每个子测试点的第二行包含一个字符串,正好由 n n 个字符组成。每个字符都是小写拉丁字母或数字。

输出格式

对于每个子测试点,如果给出的密码很强,则打印 YES ,否则打印 NO

样例 #1

样例输入 #1

5
4
12ac
5
123wa
9
allllmost
5
ac123
6
011679

样例输出 #1

YES
NO
YES
NO
YES

说明/提示

在第二个子测试点中,字母没有按照不递减的顺序排列。

在第四个子测试点中,字母后面有一个数字--数字 1 在字母 A 后面。

样例

5
4
12ac
5
123wa
9
allllmost
5
ac123
6
011679
YES
NO
YES
NO
YES

在线编程 IDE

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