#P8062. [BalkanOI 2012] handsome
[BalkanOI 2012] handsome
题目背景
你是 OIer 中最帅的,所以你要做一道跟帅有关的题。
题目描述
一个 位数是帅气的,当且仅当每一个数位上的数为 中的一个。而且相邻的两个数位上的数字构成的有序数对不是“危险数对”。
-
位数 在排列 的意义下字典序小于 位数 ,当且仅当存在一个 使得 $X_{p_1}=Y_{p_1},X_{p_2}=Y_{p_2},\dots,X_{p_{k}}<Y_{p_{k}}$。
-
位数 在排列 的意义下字典序等于 位数 ,当且仅当$X_{p_1}=Y_{p_1},X_{p_2}=Y_{p_2},\dots,X_{p_{N}}=Y_{p_{N}}$。
-
位数 在排列 的意义下字典序大于 位数 ,当且仅当存在一个 使得 $X_{p_1}=Y_{p_1},X_{p_2}=Y_{p_2},\dots,X_{p_{k}}>Y_{p_{k}}$。
请你输出在排列 意义下小于等于 的帅气数的个数模 的值。
输入格式
输入的第一行包含一个整数 ,表示数字位数。
第二行包含 个空格分隔的整数,表示排列 。该行的第 个整数表示 。
第三行包含一个整数 ,表示危险数对个数。
第四行 个空格分隔的两位整数,第 个两位整数 表示 为危险数对。
第五行一个正整数 表示给定帅气数。
输出格式
输出一行,表示在排列 意义下小于等于 的帅气数个数模 。
3
2 1 3
2
22 13
321
9
提示
数据范围:
Subtask#0 为样例。
,,。
保证 为帅气数。
样例解释:
不是帅气数,因为出现了危险数对 或 。
所以,所有 位帅气数为:$ 111,112,121,123, 211,212,231,232,233, 311,312,321,323,331,332,333$。
在排列 意义下小于等于 的帅气数有:
如 在排列 意义下与 比较(设 为 , 为 ):
- 先比较第 位:;
- 再比较第 位:;
- 最后比较第 位:。
所以 在排列 意义下大于 ,不是满足条件的帅气数。