1389: 筛选排列
Description
现在你需要输出长度为 $n$ 的全排列,但是有以下几个要求:
1.排列按照从大到小的顺序输出。
若对从大到小的 排序规则 不明白,请看下面的说明
2.有 $Q$ 个约束,每个约束 表示 第 $i$ 个位置 的数不能是 $x_i$
注意!!! 换行请使用 字符\n, 使用endl会超时
Input
第一行两个整数 $n$ ,$Q$ 。$n$ 带表全排列长度 ,$Q$ 代表 约束个数。
写下来 $Q$ 行,每行两个整数 $i$ ,$x_i$ 。代表 第 $i$ 个位置 的数不能是 $x_i$
Output
Sample Input Copy
3 1
1 2
Sample Output Copy
3 2 1
3 1 2
1 3 2
1 2 3
HINT
排列比较大小规则:
排列之间的比较大小规则按照字符串的比较大小来。
比如:
1 2 3 4 5
1 2 3 5 4
底下排列比上面的排列大
样例输入中, 第一行 两个整数 3 ,1。代表全排列长度是 3,有 1 个约束。
接下来 的 1 行的 1 2 是 一个约束,代表第 1 个位置是 2 的排列 不 符合要求。不输出这种排列。
样例输出中,所有排列的 第 1 个位置 都没有数字 2 的排列。
且 排列 {3,2,1} > {3,1,2} > {1,3,2} > {1,2,3}
数据范围
对于 30\% 的数据,$1 \leq n \leq 5, Q==0$
对于 50\% 的数据,$1 \leq n \leq 7, 0 \leq Q \leq 1$
$1 \leq i \leq n, 1 \leq x_i \leq n$
对于 100\% 的数据,$1 \leq n\leq 9, 0 \leq Q \leq 5$
$1 \leq i \leq n, 1 \leq x_i \leq n$
内存限制 : 32MB