#P17361. [ECNA 2024] Marching Orders
[ECNA 2024] Marching Orders
题目描述
院长 Bob Roberts 负责确定学院教授在毕业典礼上的行进次序。新成立的 DEI Studies Department 中有些教授提出意见,于是学院决定不再按资历排列,而应随机决定次序。Bob 认为这样很好,并为了完全公开透明,公布了生成行进名单的方法:
他从一份按字母顺序排列的 名教授名单开始,位置编号为 ,并选取一个小于 的非负整数 。行进名单中的第一人,是字母顺序名单中位置为 的教授。移除此人后,名单长度减一,原先位置大于 的人都向前移动。行进名单中的第二人,是新名单中位置为 的教授,依此类推。
例如,有六名教授 A、B、C、D、E、F,且 时,生成过程如下:
| 当前人数 | 对当前人数取模 | 字母顺序名单 | 行进名单 |
|---|---|---|---|
| A B C D E F | D | ||
| A B C E F | D F | ||
| A B C E | D F E | ||
| A B C | D F E A | ||
| B C | D F E A C | ||
| B | D F E A C B |
这听起来很公平,但某些教授认为还不够透明,因为 Roberts 院长并不公开实际使用的 。这样一来,就很难判断他是否真的遵循了公布的方法,还是仅凭个人喜好和偏见选择行进次序。
教职员工想知道:对于给定的行进次序,是否存在某个 能够生成它?
输入格式
第一行包含一个十进制整数 (),表示参加行进的教授人数。
第二行包含一个字符串,是英文字母表前 个大写字母的一个排列,表示拟定的行进次序。
输出格式
如果给定次序不可能由上述算法生成,输出一行 NO。
否则输出两行:第一行输出 YES,第二行输出能够生成该次序的最小非负整数 。
6
DFEACB
YES
39
7
DFEGACB
NO